utiller 1.0.402 → 1.0.403
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/utiller/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _lodash=_interopRequireDefault(require("lodash"));var _cryptoJs=_interopRequireDefault(require("crypto-js"));var _configerer=require("configerer");var _exceptioner=_interopRequireDefault(require("../exceptioner"));var _momentTimezone=_interopRequireDefault(require("moment-timezone"));var _uuid=require("uuid");var _words=require("../words");var _nodeHtmlParser=require("node-html-parser");function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]}},e:function e(r){throw r},f:F}}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 o,a=!0,u=!1;return{s:function s(){t=t.call(r)},n:function n(){var r=t.next();return a=r.done,r},e:function e(r){u=!0,o=r},f:function f(){try{a||null==t["return"]||t["return"]()}finally{if(u)throw o}}}}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}String.format=function(){var param=[];for(var i=0,l=arguments.length;i<l;i++){param.push(arguments[i])}var statment=param[0];param.shift();return statment.replace(/\{(\d+)\}/g,function(m,n){return param[n]})};var Utiller=function(){function Utiller(){var _this=this;(0,_classCallCheck2["default"])(this,Utiller);(0,_defineProperty2["default"])(this,"mapOfIdNTimeoutId",{});(0,_defineProperty2["default"])(this,"getEnvironment",function(){return _this.env});(0,_defineProperty2["default"])(this,"isProductionEnvironment",function(){return _lodash["default"].isEqual(_this.getEnvironment(),"prod")});(0,_defineProperty2["default"])(this,"asyncUnitTaskFunction",function(){var millionSec=arguments.length>0&&arguments[0]!==undefined?arguments[0]:2000;var _funparam=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"\u9810\u8A2D\u7684param";var errorSimulator=arguments.length>2?arguments[2]:undefined;return(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){var param,randomValue,symbol,_args=arguments;return _regenerator["default"].wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:param=_args.length>0&&_args[0]!==undefined?_args[0]:_this.getRandomHash(10);randomValue=_this.getRandomValue(millionSec,millionSec*1.2);_context.prev=2;symbol=randomValue;_this.appendInfo("before executed ===> i'm symbol of ".concat(symbol,", ready to be executed, inner param = ").concat(_funparam));_context.next=7;return _this.syncDelay(randomValue);case 7:if(!(_lodash["default"].isFunction(errorSimulator)&&errorSimulator(param))){_context.next=9;break}throw Error("force to made error happen");case 9:_this.appendInfo("after executed ===> i'm symbol of ".concat(symbol,", the task cost ").concat(randomValue," million-seconds ").concat(param?"i hav params ===> ".concat(param):""));return _context.abrupt("return",{randomValue:randomValue,symbol:symbol,param:param});case 13:_context.prev=13;_context.t0=_context["catch"](2);_this.appendError(new Error("asyncUnitTask() catch error ".concat(_context.t0.message)));case 16:_context.prev=16;_this.appendInfo("wow.... finally got you");return _context.finish(16);case 19:case"end":return _context.stop()}},_callee,null,[[2,13,16,19]])}))});(0,_defineProperty2["default"])(this,"test",function(word){return(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){return _regenerator["default"].wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return Util.syncDelay(3000);case 2:console.log("\u7D93\u904E\u4E86\u4E09\u79D2");_context2.next=5;return Util.syncDelay(4000);case 5:console.log("\u7D93\u904E\u4E86\u56DB\u79D2");_context2.next=8;return Util.syncDelay(5000);case 8:console.log("\u7D93\u904E\u4E86\u4E94\u79D2");_context2.next=11;return Util.syncDelay(6000);case 11:console.log("\u7D93\u904E\u4E86\u516D\u79D2");return _context2.abrupt("return","3423809432804 ".concat(word));case 13:case"end":return _context2.stop()}},_callee2)}))});(0,_defineProperty2["default"])(this,"findLowestValue",function(items){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"price";var minPrice=_lodash["default"].minBy(items,key)[key];return Math.floor(minPrice)});(0,_defineProperty2["default"])(this,"findHighestValue",function(items){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"price";var maxPrice=_lodash["default"].maxBy(items,key)[key];return Math.floor(maxPrice)});(0,_defineProperty2["default"])(this,"getStringOfValueRange",function(items){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"price";var sign=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"$";var minV=_lodash["default"].minBy(items,key)[key];var maxV=_lodash["default"].maxBy(items,key)[key];return maxV===minV?"$".concat(minV):"".concat(sign).concat(minV," - ").concat(sign).concat(maxV)});(0,_defineProperty2["default"])(this,"getCallersName",function(){var callerName;try{throw new Error}catch(e){var re=/(\w+)@|at (\w+) \(/g,st=e.stack,m;re.exec(st),m=re.exec(st);if(!_lodash["default"].isNull(m))callerName=m[1]||m[2]}if(_lodash["default"].startsWith("asyncGeneratorStep",callerName))callerName="";return callerName});(0,_defineProperty2["default"])(this,"getRandomValue",function(min,max){min=Math.ceil(min);max=Math.floor(max);return Math.floor(Math.random()*(max-min+1))+min});(0,_defineProperty2["default"])(this,"insertToArray",function(array,index){if(!Array.isArray(array)){throw new Error("First argument must be an array.")}var insertAt=Math.max(0,Math.min(index+1,array.length));for(var _len=arguments.length,items=new Array(_len>2?_len-2:0),_key2=2;_key2<_len;_key2++){items[_key2-2]=arguments[_key2]}array.splice.apply(array,[insertAt,0].concat(items))});(0,_defineProperty2["default"])(this,"getStringOfYearADConvertToMinguoYear",function(gregorianYear){var full=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var minguoYear=gregorianYear-1911;if(minguoYear>0){return"".concat(full?"\u6C11\u570B":"").concat(minguoYear).concat(full?"\u5E74":"")}else{return"".concat(full?"\u6C11\u570B":"","\u524D").concat(Math.abs(minguoYear)).concat(full?"\u5E74":"")}});(0,_defineProperty2["default"])(this,"convertDateToTimestamp",function(date){return(0,_momentTimezone["default"])(date).valueOf()});(0,_defineProperty2["default"])(this,"measureExecutionTime",function(){var _ref3=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(fn){var startTime,_len2,param,_key3,endTime,durationInMilliseconds,duration,hours,minutes,seconds,milliseconds,totalSeconds,_args3=arguments;return _regenerator["default"].wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:startTime=Date.now();for(_len2=_args3.length,param=new Array(_len2>1?_len2-1:0),_key3=1;_key3<_len2;_key3++){param[_key3-1]=_args3[_key3]}_context3.next=4;return fn.apply(void 0,param);case 4:endTime=Date.now();durationInMilliseconds=endTime-startTime;duration=_momentTimezone["default"].duration(durationInMilliseconds,"milliseconds");hours=Math.floor(duration.asHours());minutes=duration.minutes();seconds=duration.seconds();milliseconds=duration.milliseconds();totalSeconds=(durationInMilliseconds/1000).toFixed(3);_this.appendInfo("".concat(hours,"\u5C0F\u6642 ").concat(minutes,"\u5206 ").concat(seconds,".").concat(milliseconds.toString().padStart(3,"0"),"\u79D2 (\u5408\u8A08 ").concat(totalSeconds," \u79D2)"));case 13:case"end":return _context3.stop()}},_callee3)}));return function(_x){return _ref3.apply(this,arguments)}}());(0,_defineProperty2["default"])(this,"formatPriceWithCurrency",function(number,locale){if(typeof number!=="number"||typeof locale!=="string"){throw new TypeError("Invalid input: number must be a number and locale must be a string.")}return new Intl.NumberFormat(locale,{style:"currency",currency:new Intl.Locale(locale).maximize().currency||"USD",minimumFractionDigits:0}).format(number)});(0,_defineProperty2["default"])(this,"formatPrice",function(number,locale){if(typeof number!=="number"){throw new TypeError("Invalid input: number must be a number.")}if(!locale){return number.toLocaleString("en-US")}return new Intl.NumberFormat(locale,{style:"currency",currency:new Intl.Locale(locale).maximize().currency||"USD",minimumFractionDigits:0}).format(number)});(0,_defineProperty2["default"])(this,"generateUniversalKeywords",function(sentence){var maxLength=arguments.length>1&&arguments[1]!==undefined?arguments[1]:50;var maxNgramLength=arguments.length>2&&arguments[2]!==undefined?arguments[2]:4;if(!sentence||typeof sentence!=="string"){return[]}if(typeof _lodash["default"]==="undefined"){console.error("Lodash is not available. Please ensure it is imported.");return[]}var textToProcess=sentence.trim();var keywords=[];maxNgramLength=Math.max(2,maxNgramLength);if(textToProcess.length>maxLength){console.warn("\u8B66\u544A\uFF1A\u8F38\u5165\u5B57\u4E32\u9577\u5EA6\u70BA ".concat(textToProcess.length,"\uFF0C\u5DF2\u6839\u64DA maxLength: ").concat(maxLength," \u622A\u65B7\u3002"));textToProcess=textToProcess.substring(0,maxLength)}var englishWords=textToProcess.match(/[a-zA-Z]+/g)||[];englishWords.forEach(function(word){if(word.length>=2){keywords.push(word.toUpperCase());keywords.push(word.toLowerCase());var capitalized=word.charAt(0).toUpperCase()+word.slice(1).toLowerCase();keywords.push(capitalized)}});var specKeywordsRegex=/\b[0-9]+[a-zA-Z]{1,4}\b|\b[0-9]{1,3}(w|ml|g|oz|k)\b|[\u4e00-\u9fa5a-zA-Z0-9]{1,4}(色|號)[\u4e00-\u9fa5a-zA-Z0-9]{0,2}/gi;var specKeywords=(textToProcess.match(specKeywordsRegex)||[]).filter(function(k){return k.length>=2}).map(function(k){return k.toLowerCase()});keywords.push.apply(keywords,(0,_toConsumableArray2["default"])(specKeywords));var cleanText=textToProcess.toLowerCase();cleanText=cleanText.replace(/[0-9]+([\u4e00-\u9fa5a-z]{1,4}|[\/\-\~\\])/g," ").replace(/\b[a-z]{1,4}\b/g," ").replace(/\b[0-9]{1,3}\b/g," ");cleanText=cleanText.replace(/[!@#$%^&*()_+={}\[\]:;"'<>,.?\/\\|`~]/g," ").replace(/系列|一組|單色|多款|套組|全套|專用|迷你|頂級|高品質|超閃|奢華|最新|款式|新款|超亮|的|與|和|閃|美甲/g," ").replace(/\s+/g,"").trim();var minLength=2;for(var len=minLength;len<=maxNgramLength;len++){for(var i=0;i<=cleanText.length-len;i++){var keyword=cleanText.substring(i,i+len);keywords.push(keyword)}}var finalKeywords=_lodash["default"].chain(keywords).filter(function(k){return k.length>=2}).filter(function(k){return k.length>2||!/^[\u4e00-\u9fa5a-z0-9]$/.test(k)}).uniq().sortBy().value();return finalKeywords});(0,_defineProperty2["default"])(this,"mutateIndexOfArrayItem",function(array,object){var index=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;if(!Array.isArray(array)||!_lodash["default"].isObject(object))return array;var currentIndex=_lodash["default"].findIndex(array,function(item){return _lodash["default"].isEqual(item,object)});if(currentIndex===-1)return array;array.splice(currentIndex,1);var targetIndex=_lodash["default"].clamp(index,0,array.length);array.splice(targetIndex,0,object);return array});(0,_defineProperty2["default"])(this,"getArrayOfModifyObject2Index",function(array,object){var index=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;if(!Array.isArray(array)||!_lodash["default"].isObject(object))return array;var cloned=_lodash["default"].cloneDeep(array);var currentIndex=_lodash["default"].findIndex(cloned,function(item){return _lodash["default"].isEqual(item,object)});if(currentIndex===-1)return array;cloned.splice(currentIndex,1);var targetIndex=_lodash["default"].clamp(index,0,cloned.length);cloned.splice(targetIndex,0,object);return cloned});(0,_defineProperty2["default"])(this,"generateLabelValuePairsWithOrigin",function(){var origin=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[{label:"aa",value:1203},{label:"cc",value:1204},{label:"gg",value:2}];var latest=arguments.length>1&&arguments[1]!==undefined?arguments[1]:["aa","bb"];var usedValues=new Set(origin.map(function(o){return o.value}));return _lodash["default"].chain(latest).uniq().map(function(label){var originItem=_lodash["default"].find(origin,{label:label});if(originItem){return{label:label,value:originItem.value}}var value;do{value=_lodash["default"].random(2,999999999)}while(usedValues.has(value));usedValues.add(value);return{label:label,value:value}}).value()});(0,_defineProperty2["default"])(this,"getItemsOfMarkMatching",function(){var sourceArray=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var values=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var valueKey=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"value";var flagKey=arguments.length>3&&arguments[3]!==undefined?arguments[3]:"belong";var valuesSet=new Set(values);return _lodash["default"].map(sourceArray,function(item){return _objectSpread(_objectSpread({},item),{},(0,_defineProperty2["default"])({},flagKey,valuesSet.has(item[valueKey])))})});(0,_defineProperty2["default"])(this,"generateVariants",function(arrays){var labelSeparator=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"\uFF5C";var valueSeparator=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"-";var nonEmptyArrays=arrays.filter(function(arr){return arr.length>0});if(nonEmptyArrays.length===0)return[];if(nonEmptyArrays.length===1){return nonEmptyArrays[0].map(function(item){return{label:item.label,value:item.value}})}var combinations=_lodash["default"].reduce(nonEmptyArrays,function(acc,curr){return _lodash["default"].flatMap(acc,function(a){return curr.map(function(b){return[].concat((0,_toConsumableArray2["default"])(a),[b])})})},[[]]);return combinations.map(function(comb){return{label:comb.map(function(item){return item.label}).join(labelSeparator),value:comb.map(function(item){return item.value}).join(valueSeparator)}})});(0,_defineProperty2["default"])(this,"renameKeysInArray",function(arr){for(var _len3=arguments.length,keyMappings=new Array(_len3>1?_len3-1:0),_key4=1;_key4<_len3;_key4++){keyMappings[_key4-1]=arguments[_key4]}var mapping=Object.fromEntries(keyMappings);return arr.map(function(item){return _lodash["default"].mapKeys(item,function(value,key){return mapping[key]||key})})});(0,_defineProperty2["default"])(this,"getArrayOfMergeBySpecificId",function(array1,array2){var idKey=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"id";if(!Array.isArray(array2))return array1;var map2=_lodash["default"].keyBy(array2,function(item){return _lodash["default"].get(item,idKey)});return array1.map(function(item){var id=_lodash["default"].get(item,idKey);var match=map2[id];return match?_lodash["default"].merge({},item,match):item})});(0,_defineProperty2["default"])(this,"toPercentageDecimal",function(num){if(_lodash["default"].isNil(num))return 1;if(_lodash["default"].isString(num)){num=num.replace(/%/g,"").trim()}var parsed=_lodash["default"].toNumber(num);if(!_lodash["default"].isFinite(parsed))return 1;return _lodash["default"].round(parsed/100,10)});(0,_defineProperty2["default"])(this,"getNumberOfMultiplyCeil",function(a,b){var precision=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;var factor=Math.pow(10,precision);return Math.ceil(a*b*factor)/factor});(0,_defineProperty2["default"])(this,"generateGoogleCalendarLink",function(_ref4){var title=_ref4.title,startDate=_ref4.startDate,startTime=_ref4.startTime,endDate=_ref4.endDate,endTime=_ref4.endTime,location=_ref4.location,details=_ref4.details;var startDateTime=(0,_momentTimezone["default"])("".concat(startDate," ").concat(startTime),"YYYY/MM/DD HH:mm").format("YYYYMMDDTHHmmss");var endDateTime=(0,_momentTimezone["default"])("".concat(endDate," ").concat(endTime),"YYYY/MM/DD HH:mm").format("YYYYMMDDTHHmmss");var params=new URLSearchParams;if(title)params.append("text",title);if(startDateTime&&endDateTime)params.append("dates","".concat(startDateTime,"/").concat(endDateTime));if(details)params.append("details",details);if(location)params.append("location",location);params.append("ctz","Asia/Taipei");params.append("trp","true");return"https://calendar.google.com/calendar/r/eventedit?".concat(params.toString())});(0,_defineProperty2["default"])(this,"generateTimeTreeLink",function(_ref5){var title=_ref5.title,startDate=_ref5.startDate,startTime=_ref5.startTime,endDate=_ref5.endDate,endTime=_ref5.endTime,location=_ref5.location,memo=_ref5.memo;var params=new URLSearchParams;if(title)params.append("title",title);if(startDate)params.append("start_date",startDate.replace(/\//g,"-"));if(startTime)params.append("start_time",startTime);if(endDate)params.append("end_date",endDate.replace(/\//g,"-"));if(endTime)params.append("end_time",endTime);if(location)params.append("location",location);if(memo)params.append("memo",memo);return"https://timetreeapp.com/plans/new?".concat(params.toString())});(0,_defineProperty2["default"])(this,"generateIcsContent",function(_ref6){var title=_ref6.title,startDate=_ref6.startDate,startTime=_ref6.startTime,endDate=_ref6.endDate,endTime=_ref6.endTime,location=_ref6.location,details=_ref6.details;var startDateTime=_momentTimezone["default"].tz("".concat(startDate," ").concat(startTime),"YYYY/MM/DD HH:mm","Asia/Taipei").format("YYYYMMDDTHHmmss");var endDateTime=_momentTimezone["default"].tz("".concat(endDate," ").concat(endTime),"YYYY/MM/DD HH:mm","Asia/Taipei").format("YYYYMMDDTHHmmss");var stamp=(0,_momentTimezone["default"])().utc().format("YYYYMMDDTHHmmss")+"Z";var uid=Date.now().toString(36)+Math.random().toString(36).substring(2,5)+"@gemini-app.com";var escapeIcs=function escapeIcs(text){return text.replace(/\\/g,"\\\\").replace(/,/g,"\\,").replace(/;/g,"\\;").replace(/\n/g,"\\n")};var lines=["BEGIN:VCALENDAR","VERSION:2.0","PRODID:-//Gemini AI//NONSGML v1.0//EN","BEGIN:VEVENT","UID:".concat(uid),"DTSTAMP:".concat(stamp)];if(startDateTime)lines.push("DTSTART;TZID=Asia/Taipei:".concat(startDateTime));if(endDateTime)lines.push("DTEND;TZID=Asia/Taipei:".concat(endDateTime));if(title)lines.push("SUMMARY:".concat(escapeIcs(title)));if(location)lines.push("LOCATION:".concat(escapeIcs(location)));if(details)lines.push("DESCRIPTION:".concat(escapeIcs(details)));lines.push("END:VEVENT","END:VCALENDAR");return lines.join("\r\n")});(0,_defineProperty2["default"])(this,"generateAllCalendarLinks",function(event){var googleLink=_this.generateGoogleCalendarLink(event);var timeTreeEvent=_objectSpread(_objectSpread({},event),{},{memo:event.details});var timeTreeLink=_this.generateTimeTreeLink(timeTreeEvent);var icsContent=_this.generateIcsContent(event);var icsLink="data:text/calendar;charset=utf8,".concat(encodeURIComponent(icsContent));return{google:googleLink,timeTree:timeTreeLink,ics:icsLink}});(0,_defineProperty2["default"])(this,"getArrayOfMappingRef",function(current,reference){return _lodash["default"].map(current,function(currentObj){var referenceObj=_lodash["default"].find(reference,{value:currentObj.value});return referenceObj?_lodash["default"].merge({},currentObj,referenceObj):currentObj})});(0,_defineProperty2["default"])(this,"areAllValuesTheSameOnKeys",function(array){for(var _len4=arguments.length,keys=new Array(_len4>1?_len4-1:0),_key5=1;_key5<_len4;_key5++){keys[_key5-1]=arguments[_key5]}if(!array||array.length<=1||keys.length===0){return true}var _loop=function _loop(){var _array$;var keyName=_keys[_i];var firstValue=(_array$=array[0])===null||_array$===void 0?void 0:_array$[keyName];var isCurrentKeySame=_lodash["default"].every(array,function(item){return item[keyName]===firstValue});if(!isCurrentKeySame){return{v:false}}},_ret;for(var _i=0,_keys=keys;_i<_keys.length;_i++){_ret=_loop();if(_ret)return _ret.v}return true});this.init();this.env="dev"}return(0,_createClass2["default"])(Utiller,[{key:"removeAttributeBy",value:function removeAttributeBy(object){var predicate=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(value){return _lodash["default"].isUndefined(value)};for(var _key6 in object){if(predicate(object[_key6])){delete object[_key6]}}}},{key:"getNumberOfNormalize",value:function getNumberOfNormalize(value){var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;if(_lodash["default"].isNumber(value))return value;try{var force=_lodash["default"].toNumber(value);return _lodash["default"].isNumber(force)&&!isNaN(force)?force:defaultValue}catch(error){Util.appendError("448561684561 ".concat(error.message))}return defaultValue}},{key:"getBooleanOfNormalize",value:function getBooleanOfNormalize(value){var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(_lodash["default"].isBoolean(value))return value;if(_lodash["default"].isNumber(value)&&_lodash["default"].isEqual(value,1))return true;if(_lodash["default"].isNumber(value)&&_lodash["default"].isEqual(value,0))return true;try{var force=JSON.parse(_lodash["default"].toString(value).toLowerCase());return _lodash["default"].isBoolean(force)?force:defaultValue}catch(error){Util.appendError("448561684562 ".concat(error.message))}return defaultValue}},{key:"getStringOfNormalize",value:function getStringOfNormalize(value){var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"";var trim=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(_lodash["default"].isString(value))return trim?_lodash["default"].trim(value):value;try{var force=_lodash["default"].toString(value);return this.isOrEquals(force,"","undefined")?defaultValue:trim?_lodash["default"].trim(force):force}catch(error){Util.appendError("448616845453 ".concat(error.message))}return defaultValue}},{key:"isValidVersionOfString",value:function isValidVersionOfString(versionName){if(this.isUndefinedNullEmpty(versionName)){return false}var numbers=versionName.split(".");var _iterator=_createForOfIteratorHelper(numbers),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var number=_step.value;var toNum=_lodash["default"].toNumber(number);if(!_lodash["default"].isNumber(toNum)||isNaN(toNum))return false}}catch(err){_iterator.e(err)}finally{_iterator.f()}return true}},{key:"getSeparatorOfUnique",value:function getSeparatorOfUnique(){return"\u0F0D\u0F0D"}},{key:"getStringOfVersionIncrement",value:function getStringOfVersionIncrement(stringOfVersion){var delta=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var numbers=stringOfVersion.split(".").map(function(each){return _lodash["default"].toNumber(each)});var last=numbers.length-1;numbers[last]=numbers[last]+delta;return numbers.join(".")}},{key:"setLocaleOfMoment",value:function setLocaleOfMoment(){var locale=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"en";_momentTimezone["default"].locale(locale)}},{key:"getUuidOfV4",value:function getUuidOfV4(){return(0,_uuid.v4)()}},{key:"performActionWithoutTimingIssue",value:function performActionWithoutTimingIssue(){var task=arguments.length>0&&arguments[0]!==undefined?arguments[0]:function(){return true};var wait=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;this.syncDelay(wait).then(function(){return task()})}},{key:"executeTimeoutTask",value:function executeTimeoutTask(functionOfAsyncTask){var ms=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1000;var id=arguments.length>2&&arguments[2]!==undefined?arguments[2]:this.getRandomHash();var self=this;var idOfCurrentTimeoutTask=this.mapOfIdNTimeoutId[id];if(idOfCurrentTimeoutTask)clearTimeout(idOfCurrentTimeoutTask);for(var _len5=arguments.length,params=new Array(_len5>3?_len5-3:0),_key7=3;_key7<_len5;_key7++){params[_key7-3]=arguments[_key7]}var idOfTimeoutTask=setTimeout.apply(void 0,[(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(){return _regenerator["default"].wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return functionOfAsyncTask();case 2:delete self.mapOfIdNTimeoutId[id];case 3:case"end":return _context4.stop()}},_callee4)})),ms].concat(params));self.mapOfIdNTimeoutId[id]=idOfTimeoutTask}},{key:"printLogMessage",value:function printLogMessage(message){var error=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!this.isProductionEnvironment()){for(var _len6=arguments.length,infos=new Array(_len6>2?_len6-2:0),_key8=2;_key8<_len6;_key8++){infos[_key8-2]=arguments[_key8]}if(error){this.appendError.apply(this,[message].concat(infos))}else{this.appendInfo.apply(this,[message].concat(infos))}}}},{key:"init",value:function init(){}},{key:"setEnvironment",value:function setEnvironment(env){this.env=env}},{key:"appendInfo",value:function appendInfo(){var _console;if(this.isProductionEnvironment())return;(_console=console).log.apply(_console,arguments)}},{key:"appendError",value:function appendError(){var _console2;if(this.isProductionEnvironment())return;(_console2=console).error.apply(_console2,arguments)}},{key:"syncDelay",value:function(){var _syncDelay=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(){var delayInms,_args5=arguments;return _regenerator["default"].wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:delayInms=_args5.length>0&&_args5[0]!==undefined?_args5[0]:2000;return _context5.abrupt("return",new Promise(function(resolve){setTimeout(function(){resolve(delayInms)},delayInms)}));case 2:case"end":return _context5.stop()}},_callee5)}));function syncDelay(){return _syncDelay.apply(this,arguments)}return syncDelay}()},{key:"startWithRegex",value:function startWithRegex(){var string=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";var rule=arguments.length>1&&arguments[1]!==undefined?arguments[1]:".";var pattern=new RegExp("^".concat(rule),"i");return pattern.test(string)}},{key:"accumulate",value:function accumulate(target,conditions){var beginning=target;var _iterator2=_createForOfIteratorHelper(conditions),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var condition=_step2.value;if(condition!==undefined&&_lodash["default"].isFunction(condition)){beginning=condition(beginning)}}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}return beginning}},{key:"isOrEquals",value:function isOrEquals(target){for(var _len7=arguments.length,several=new Array(_len7>1?_len7-1:0),_key9=1;_key9<_len7;_key9++){several[_key9-1]=arguments[_key9]}for(var _i2=0,_several=several;_i2<_several.length;_i2++){var each=_several[_i2];if(_lodash["default"].isEqual(target,each))return true}return false}},{key:"isAndEquals",value:function isAndEquals(){for(var _len8=arguments.length,predicates=new Array(_len8),_key10=0;_key10<_len8;_key10++){predicates[_key10]=arguments[_key10]}for(var _i3=0,_predicates=predicates;_i3<_predicates.length;_i3++){var predicate=_predicates[_i3];if(!predicate()){return false}}return true}},{key:"getStringOfHeadMatch",value:function getStringOfHeadMatch(string,regex){var flag=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"g";var result=string.match(new RegExp(regex,flag));return this.isUndefinedNullEmpty(result)?undefined:result[0]}},{key:"or",value:function or(){for(var _len9=arguments.length,booleans=new Array(_len9),_key11=0;_key11<_len9;_key11++){booleans[_key11]=arguments[_key11]}for(var _i4=0,_booleans=booleans;_i4<_booleans.length;_i4++){var boo=_booleans[_i4];if(_lodash["default"].isBoolean(boo)&&boo)return true}return false}},{key:"and",value:function and(){for(var _len10=arguments.length,booleans=new Array(_len10),_key12=0;_key12<_len10;_key12++){booleans[_key12]=arguments[_key12]}for(var _i5=0,_booleans2=booleans;_i5<_booleans2.length;_i5++){var boo=_booleans2[_i5];if(!!!boo)return false}return true}},{key:"nth",value:function nth(array){var index=arguments.length>1&&arguments[1]!==undefined?arguments[1]:-1;return _lodash["default"].nth(array,index%_lodash["default"].size(array))}},{key:"getExistOne",value:function getExistOne(){for(var _len11=arguments.length,candidates=new Array(_len11),_key13=0;_key13<_len11;_key13++){candidates[_key13]=arguments[_key13]}for(var _i6=0,_candidates=candidates;_i6<_candidates.length;_i6++){var candidate=_candidates[_i6];if(candidate)return candidate}}},{key:"getStringOfDropHeadSign",value:function getStringOfDropHeadSign(string,sign){return _lodash["default"].dropWhile(Array.from(string),function(each){return _lodash["default"].isEqual(each,sign)}).join("")}},{key:"isAndWith",value:function isAndWith(self,predicate){for(var _len12=arguments.length,several=new Array(_len12>2?_len12-2:0),_key14=2;_key14<_len12;_key14++){several[_key14-2]=arguments[_key14]}for(var _i7=0,_several2=several;_i7<_several2.length;_i7++){var each=_several2[_i7];if(!predicate(self,each))return false}return true}},{key:"syncDelayRandom",value:function(){var _syncDelayRandom=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(){var min,max,random,_args6=arguments;return _regenerator["default"].wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:min=_args6.length>0&&_args6[0]!==undefined?_args6[0]:3000;max=_args6.length>1&&_args6[1]!==undefined?_args6[1]:5000;random=this.getRandomValue(min,max);_context6.next=5;return this.syncDelay(random);case 5:return _context6.abrupt("return",random);case 6:case"end":return _context6.stop()}},_callee6,this)}));function syncDelayRandom(){return _syncDelayRandom.apply(this,arguments)}return syncDelayRandom}()},{key:"has",value:function has(collection,item){var precisely=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(_lodash["default"].isArray(collection)){if(precisely)return _lodash["default"].findIndex(collection,function(each){return _lodash["default"].isEqual(item,each)})>-1;else return _lodash["default"].indexOf(collection,item)>-1}if(_lodash["default"].isObject(item)){return collection[item]}if(_lodash["default"].isString(collection)){return collection.indexOf(item)>-1}return false}},{key:"containsBy",value:function containsBy(array,item){return _lodash["default"].findIndex(array,function(each){return _lodash["default"].isEqual(each,item)})>=0}},{key:"getStringOfInsideParentheses",value:function getStringOfInsideParentheses(string){var rule=arguments.length>1&&arguments[1]!==undefined?arguments[1]:".";return this.getStringOfRule(string,rule,"(",")")}},{key:"getStringOfInsideBrackets",value:function getStringOfInsideBrackets(string){var rule=arguments.length>1&&arguments[1]!==undefined?arguments[1]:".";return this.getStringOfRule(string,rule,"[","]")}},{key:"getStringOfInsideBraces",value:function getStringOfInsideBraces(string){var rule=arguments.length>1&&arguments[1]!==undefined?arguments[1]:".";return this.getStringOfRule(string,rule,"{","}")}},{key:"getStringOfRule",value:function getStringOfRule(string){var rule=arguments.length>1&&arguments[1]!==undefined?arguments[1]:".";var left=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"{";var right=arguments.length>3&&arguments[3]!==undefined?arguments[3]:"}";return this.getStringOfHeadMatch(string,"(?<=\\".concat(left,")").concat(rule,"+?(?=\\").concat(right,")"))}},{key:"getRandomHash",value:function getRandomHash(){var length=arguments.length>0&&arguments[0]!==undefined?arguments[0]:20;var randomBytes=_cryptoJs["default"].lib.WordArray.random(length);var base64String=_cryptoJs["default"].enc.Base64.stringify(randomBytes);return base64String.substring(0,length)}},{key:"getRandomHashV2",value:function getRandomHashV2(length){var characters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";var result="";for(var i=0;i<length;i++){var randomIndex=Math.floor(Math.random()*characters.length);result+=characters.charAt(randomIndex)}return result}},{key:"getEncryptString",value:function getEncryptString(texts){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_configerer.configerer.ENCRYPT_KEY;var alwaysTheSame=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var maxLengthOfKey=22;if(key.length>maxLengthOfKey)throw new _exceptioner["default"](8010,_lodash["default"].size(key));var ivOfCrypto=_cryptoJs["default"].enc.Base64.parse("thisIsIVWeNeedToGenerateTheSameValue");var keyOfCrypto=alwaysTheSame?_cryptoJs["default"].enc.Base64.parse("".concat(key).concat(_lodash["default"].range(0,maxLengthOfKey-key.length).join(""))):key;return _cryptoJs["default"].AES.encrypt(texts,keyOfCrypto,{iv:ivOfCrypto}).toString()}},{key:"getEncryptStringV2",value:function getEncryptStringV2(texts){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_configerer.configerer.ENCRYPT_KEY;var alwaysTheSame=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var maxLengthOfKey=22;if(key.length>maxLengthOfKey)throw new _exceptioner["default"](8010,_lodash["default"].size(key));var ivOfCrypto=_cryptoJs["default"].enc.Base64.parse("thisIsIVWeNeedToGenerateTheSameValue");var keyOfCrypto=alwaysTheSame?_cryptoJs["default"].enc.Base64.parse("".concat(key).concat(_lodash["default"].range(0,maxLengthOfKey-key.length).join(""))):key;return _cryptoJs["default"].AES.encrypt(JSON.stringify({content:texts}),keyOfCrypto,{iv:ivOfCrypto}).toString()}},{key:"getDecryptString",value:function getDecryptString(ciphertext){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_configerer.configerer.ENCRYPT_KEY;var maxLengthOfKey=22;if(key.length>maxLengthOfKey)throw new _exceptioner["default"](8010,_lodash["default"].size(key));var ivOfCrypto=_cryptoJs["default"].enc.Base64.parse("thisIsIVWeNeedToGenerateTheSameValue");try{var value=_cryptoJs["default"].AES.decrypt(ciphertext,key,{iv:ivOfCrypto}).toString(_cryptoJs["default"].enc.Utf8);if(!_lodash["default"].isEmpty(value.trim()))return value}catch(e){}return _cryptoJs["default"].AES.decrypt(ciphertext,_cryptoJs["default"].enc.Base64.parse("".concat(key).concat(_lodash["default"].range(0,maxLengthOfKey-key.length).join(""))),{iv:ivOfCrypto}).toString(_cryptoJs["default"].enc.Utf8)}},{key:"getDecryptStringV2",value:function getDecryptStringV2(ciphertext){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_configerer.configerer.ENCRYPT_KEY;var maxLengthOfKey=22;if(key.length>maxLengthOfKey)throw new _exceptioner["default"](8010,_lodash["default"].size(key));var ivOfCrypto=_cryptoJs["default"].enc.Base64.parse("thisIsIVWeNeedToGenerateTheSameValue");try{var _stringOfObj=_cryptoJs["default"].AES.decrypt(ciphertext,key,{iv:ivOfCrypto}).toString(_cryptoJs["default"].enc.Utf8);if(!_lodash["default"].isEmpty(_stringOfObj.trim())){var _obj2=JSON.parse(_stringOfObj);return _obj2.content}}catch(e){}var stringOfObj=_cryptoJs["default"].AES.decrypt(ciphertext,_cryptoJs["default"].enc.Base64.parse("".concat(key).concat(_lodash["default"].range(0,maxLengthOfKey-key.length).join(""))),{iv:ivOfCrypto}).toString(_cryptoJs["default"].enc.Utf8);var obj=JSON.parse(stringOfObj);return obj.content}},{key:"getFirebaseFormattedString",value:function getFirebaseFormattedString(texts){return _lodash["default"].replace(texts,/[\.\#\$\[\]]/g,"-").trim()}},{key:"formalizeNamesToArray",value:function formalizeNamesToArray(singerString){var normalize=singerString;normalize=normalize.split(_configerer.configerer.SEPARATE_TONE_SINGER)[0].trim();normalize=_lodash["default"].replace(normalize,/[,\/#!$%\^&\*;:{}=_`、~()()]/g,"_").trim();normalize=this.getFirebaseFormattedString(normalize);normalize=_lodash["default"].replace(normalize,/\_\_+/g,"_").trim();while(_lodash["default"].endsWith(normalize,"_")){normalize=normalize.slice(0,-1).trim()}var words=normalize.split("_");return _lodash["default"].map(words,function(word){return _lodash["default"].trim(word)})}},{key:"getShuffledArrayWithLimitCountHighPerformance",value:function getShuffledArrayWithLimitCountHighPerformance(arr,n){var result=new Array(n),len=arr.length,taken=new Array(len);if(n>len)n=len;while(n--){var x=Math.floor(Math.random()*len);result[n]=arr[x in taken?taken[x]:x];taken[x]=--len in taken?taken[len]:len}return result}},{key:"getFileNameFromPath",value:function getFileNameFromPath(path){var extension=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var segments=path.split("/");var target=segments.pop();return extension?target:target.split(".").shift()}},{key:"getFileNameExtensionFromPath",value:function getFileNameExtensionFromPath(path){var name=path.split("/").pop();return name}},{key:"getPathOfReplaceLastDir",value:function getPathOfReplaceLastDir(path,name){var split=path.split("/");split.pop();split.push(name);return split.join("/")}},{key:"getExtensionFromPath",value:function getExtensionFromPath(path){var name=path.split("/").pop();var segments=name.split(".");return _lodash["default"].size(segments)>1?segments.pop():""}},{key:"getFolderPathOfSpecificPath",value:function getFolderPathOfSpecificPath(path){var split=path.split("/");split.pop();return split.join("/")}},{key:"getFolderNameOfFilePath",value:function getFolderNameOfFilePath(path){if(this.isValidFilePath(path)){var splits=path.split("/");return _lodash["default"].nth(splits,-2)}else{throw new _exceptioner["default"](9999,"64255615 path is not valid '".concat(path,"'"))}}},{key:"isUnderTargetPath",value:function isUnderTargetPath(absolute,target){var segments=absolute.split("/");return this.has(segments,target)}},{key:"getFileDirPath",value:function getFileDirPath(path){var slash=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;return _lodash["default"].join(_lodash["default"].initial(_lodash["default"].split(path,"/")),"/")+(slash?"/":"")}},{key:"isPathEqualsFileType",value:function isPathEqualsFileType(path,type){var extension=path.split(".").pop();return _lodash["default"].isEqual(extension,type)}},{key:"isValidFilePath",value:function isValidFilePath(path){var extension=this.getExtensionFromPath(path);return _lodash["default"].size(extension)>0}},{key:"getArrayOfSize",value:function getArrayOfSize(array){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;return _lodash["default"].take(array,n)}},{key:"getShuffledArrayWithLimitCount",value:function getShuffledArrayWithLimitCount(arr,n){return this.getShuffledArrayWithLimitCountHighPerformance(arr,n)}},{key:"getRandomItemOfArray",value:function getRandomItemOfArray(array){if(!_lodash["default"].isArray(array))throw new _exceptioner["default"](9999,"why are you so stupid, typeof array should be array, not ==> ".concat(array," "));for(var _len13=arguments.length,ignores=new Array(_len13>1?_len13-1:0),_key15=1;_key15<_len13;_key15++){ignores[_key15-1]=arguments[_key15]}var filter=_lodash["default"].without.apply(_lodash["default"],[array].concat(ignores));var target=_lodash["default"].size(filter)>0?filter:array;var item=this.getShuffledArrayWithLimitCount(target,1);return item.length>0?item[0]:undefined}},{key:"appendMapOfKeyArray",value:function appendMapOfKeyArray(object,key){for(var _len14=arguments.length,value=new Array(_len14>2?_len14-2:0),_key16=2;_key16<_len14;_key16++){value[_key16-2]=arguments[_key16]}if(this.isUndefinedNullEmpty(object[key])){object[key]=[].concat(value)}else{var _object$key;(_object$key=object[key]).push.apply(_object$key,value)}}},{key:"getMergedArrayBy",value:function getMergedArrayBy(){var major=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var sub=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var key=arguments.length>2?arguments[2]:undefined;if(!key||major.length===0||sub.length===0){return(0,_toConsumableArray2["default"])(major)}var subMap=new Map(sub.map(function(item){return[item[key],item]}));return major.map(function(majorItem){var subItem=subMap.get(majorItem[key]);return _objectSpread(_objectSpread({},subItem||{}),majorItem)})}},{key:"getShuffledItemFromArray",value:function getShuffledItemFromArray(arr){var shuffled=_lodash["default"].shuffle(arr);return shuffled[0]}},{key:"getShuffledArray",value:function getShuffledArray(arr){var shuffled=_lodash["default"].shuffle(arr);return shuffled}},{key:"isJson",value:function isJson(item){item=typeof item!=="string"?JSON.stringify(item):item;try{item=JSON.parse(item)}catch(e){return false}if((0,_typeof2["default"])(item)==="object"&&item!==null){return true}return false}},{key:"getObjectValue",value:function getObjectValue(obj){if(_lodash["default"].isObject(obj)){return Object.values(obj)[0]}return""}},{key:"getObject",value:function getObject(key,value){var object={};object[key]=value;return object}},{key:"getStringOfCreditCardFormatted",value:function getStringOfCreditCardFormatted(){var string=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var inputValue=string.replace(/\D/g,"");var result=inputValue.replace(/(\d{4})(?=\d)/g,"$1-");return result.slice(0,19)}},{key:"getObjectKey",value:function getObjectKey(obj){if(_lodash["default"].isObject(obj)){return Object.keys(obj)[0]}return""}},{key:"printf",value:function printf(){this.appendInfo("i can use in web || react.js")}},{key:"isKeywordRule",value:function isKeywordRule(constraint){if(_lodash["default"].isUndefined(constraint)||_lodash["default"].isEmpty(constraint))throw new Error("PARAMS CAN NOT BE EMPTY");if(!_lodash["default"].isString(constraint))throw new Error("PARAMS SHOULD BE STRING");if(constraint.length>20)throw new Error("EXCEED 20 WORDS IS NOT ALLOWED")}},{key:"getItsKeyByValue",value:function getItsKeyByValue(object,value){return Object.keys(object).find(function(key){return object[key]===value})}},{key:"startWiths",value:function startWiths(string){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var _iterator3=_createForOfIteratorHelper(key),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _key=_step3.value;if(_lodash["default"].startsWith(string,_key)){return true}}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}return false}},{key:"replaceAll",value:function replaceAll(string,patten,to){return _lodash["default"].replace(string,new RegExp("".concat(patten),"g"),to)}},{key:"replaceAllWithSets",value:function replaceAllWithSets(){var string=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";var after=string;for(var _len15=arguments.length,patterns=new Array(_len15>1?_len15-1:0),_key17=1;_key17<_len15;_key17++){patterns[_key17-1]=arguments[_key17]}for(var _i8=0,_patterns=patterns;_i8<_patterns.length;_i8++){var pattern=_patterns[_i8];if(this.isOrEquals(undefined,pattern.from,pattern.to)){throw(0,_exceptioner["default"])(9999,"from or to can't be empty")}after=this.replaceAll(after,pattern.from,pattern.to)}return after}},{key:"replaceArrayByContentIndex",value:function replaceArrayByContentIndex(array,current,latest){var index=_lodash["default"].indexOf(array,current);array[index]=latest}},{key:"deepFlat",value:function deepFlat(collection){var sign=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"_";var result="";var stack=[[collection,""]];while(stack.length>0){var _stack$pop=stack.pop(),_stack$pop2=(0,_slicedToArray2["default"])(_stack$pop,2),current=_stack$pop2[0],prefix=_stack$pop2[1];if(_lodash["default"].isArray(current)){for(var i=current.length-1;i>=0;i--){stack.push([current[i],prefix])}}else if(_lodash["default"].isObject(current)){var keys=Object.keys(current);for(var _i9=keys.length-1;_i9>=0;_i9--){var _key18=keys[_i9];stack.push([current[_key18],prefix+_key18+sign])}}else{var valueString=_lodash["default"].trim(String(current));if(valueString.length>0){result+=(result.length>0?sign:"")+prefix+valueString}else if(prefix.length>0&&result.length>0){result+=sign}else if(prefix.length>0&&result.length===0){result+=prefix.endsWith(sign)?prefix.slice(0,-sign.length):prefix}}}if(result.endsWith(sign)){result=result.slice(0,-sign.length)}return result}},{key:"joinEscapeChar",value:function joinEscapeChar(str){return(str+"").replace(/[\\"']/g,"\\$&").replace(/\u0000/g,"\\0")}},{key:"getValueWithIntegerType",value:function getValueWithIntegerType(whatever){try{var value=parseInt(whatever);return isNaN(value)?0:value}catch(error){return 0}}},{key:"getValueOfPriority",value:function getValueOfPriority(){for(var _len16=arguments.length,compares=new Array(_len16),_key19=0;_key19<_len16;_key19++){compares[_key19]=arguments[_key19]}for(var _i10=0,_compares=compares;_i10<_compares.length;_i10++){var compare=_compares[_i10];if(!this.isUndefinedNullEmpty(compare))return compare}return undefined}},{key:"asyncPool",value:function(){var _asyncPool=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(poolLimit,array,iteratorFn){var ret,executing,_iterator4,_step4,_loop2;return _regenerator["default"].wrap(function _callee7$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:ret=[];executing=[];_iterator4=_createForOfIteratorHelper(array);_context8.prev=3;_loop2=_regenerator["default"].mark(function _loop2(){var item,p,e;return _regenerator["default"].wrap(function _loop2$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:item=_step4.value;p=Promise.resolve().then(function(){return iteratorFn(item,array)});ret.push(p);if(!(poolLimit<=array.length)){_context7.next=9;break}e=p.then(function(){return executing.splice(executing.indexOf(e),1)});executing.push(e);if(!(executing.length>=poolLimit)){_context7.next=9;break}_context7.next=9;return Promise.race(executing);case 9:case"end":return _context7.stop()}},_loop2)});_iterator4.s();case 6:if((_step4=_iterator4.n()).done){_context8.next=10;break}return _context8.delegateYield(_loop2(),"t0",8);case 8:_context8.next=6;break;case 10:_context8.next=15;break;case 12:_context8.prev=12;_context8.t1=_context8["catch"](3);_iterator4.e(_context8.t1);case 15:_context8.prev=15;_iterator4.f();return _context8.finish(15);case 18:return _context8.abrupt("return",Promise.all(ret));case 19:case"end":return _context8.stop()}},_callee7,null,[[3,12,15,18]])}));function asyncPool(_x2,_x3,_x4){return _asyncPool.apply(this,arguments)}return asyncPool}()},{key:"getAttrValueInSequence",value:function getAttrValueInSequence(info){for(var _len17=arguments.length,attrs=new Array(_len17>1?_len17-1:0),_key20=1;_key20<_len17;_key20++){attrs[_key20-1]=arguments[_key20]}for(var _i11=0,_attrs=attrs;_i11<_attrs.length;_i11++){var attr=_attrs[_i11];if(!_lodash["default"].isEmpty(info[attr])){return info[attr]}}return info}},{key:"toDBC",value:function toDBC(txtstring){var tmp="";for(var i=0;i<txtstring.length;i++){if(txtstring.charCodeAt(i)===32){tmp=tmp+String.fromCharCode(12288)}if(txtstring.charCodeAt(i)<127){tmp=tmp+String.fromCharCode(txtstring.charCodeAt(i)+65248)}}return tmp}},{key:"toCDB",value:function toCDB(str){var tmp="";for(var i=0;i<str.length;i++){if(str.charCodeAt(i)===12288){tmp+=String.fromCharCode(str.charCodeAt(i)-12256);continue}if(str.charCodeAt(i)>65280&&str.charCodeAt(i)<65375){tmp+=String.fromCharCode(str.charCodeAt(i)-65248)}else{tmp+=String.fromCharCode(str.charCodeAt(i))}}return tmp}},{key:"findIndexes",value:function findIndexes(array,predicate){var indexes=[];var hasIndex=true;var indexOfLatest=0;while(hasIndex){indexOfLatest=_lodash["default"].findIndex(array,predicate,indexOfLatest+1);if(indexOfLatest>-1){indexes.push(indexOfLatest)}else{hasIndex=false}}return indexes}},{key:"getSliceArrayOfSpecificIndexes",value:function getSliceArrayOfSpecificIndexes(array){var items=[];var size=_lodash["default"].size(array);for(var _len18=arguments.length,indexes=new Array(_len18>1?_len18-1:0),_key21=1;_key21<_len18;_key21++){indexes[_key21-1]=arguments[_key21]}for(var _i12=0,_indexes=indexes;_i12<_indexes.length;_i12++){var index=_indexes[_i12];if(!_lodash["default"].isNumber(index))throw new _exceptioner["default"](9999,"59941278 index should be number => ".concat(index,", ").concat(array));if(index>size-1)throw new _exceptioner["default"](9999,"5994123 index=>".concat(index," is not valid, exceed than array size=").concat(size,", ").concat(array));items.push(_lodash["default"].nth(array,index))}return items}},{key:"indexesOf",value:function indexesOf(arr,val){var indexes=[];var i=-1;while((i=arr.indexOf(val,i+1))!==-1){indexes.push(i)}return indexes}},{key:"getIndexOfContext",value:function getIndexOfContext(context,stmt){return _lodash["default"].findIndex(context,function(per){return _lodash["default"].isEqual(per.trim(),stmt)})}},{key:"toOneLineString",value:function toOneLineString(string){return _lodash["default"].join(_lodash["default"].split(string,"\n"),"")}},{key:"toSpaceLessString",value:function toSpaceLessString(string){return _lodash["default"].split(string,"").map(function(each){return _lodash["default"].trim(each)}).join("")}},{key:"toNewLineLessString",value:function toNewLineLessString(string){return _lodash["default"].split(string,"\n").map(function(each){return _lodash["default"].trim(each)}).join("")}},{key:"exist",value:function exist(obj){return!_lodash["default"].isNull(obj)&&!_lodash["default"].isUndefined(obj)}},{key:"isUndefinedNullEmpty",value:function isUndefinedNullEmpty(obj){var first=obj===undefined||obj===null;var second=_lodash["default"].isString(obj)||_lodash["default"].isArray(obj)||_lodash["default"].isObject(obj)?_lodash["default"].isEmpty(obj):false;return first||second}},{key:"isAndConditionOfUndefinedNullEmpty",value:function isAndConditionOfUndefinedNullEmpty(){for(var _len19=arguments.length,objs=new Array(_len19),_key22=0;_key22<_len19;_key22++){objs[_key22]=arguments[_key22]}for(var _i13=0,_objs=objs;_i13<_objs.length;_i13++){var obj=_objs[_i13];if(!this.isUndefinedNullEmpty(obj))return false}return true}},{key:"isOrConditionOfUndefinedNullEmpty",value:function isOrConditionOfUndefinedNullEmpty(){for(var _len20=arguments.length,objs=new Array(_len20),_key23=0;_key23<_len20;_key23++){objs[_key23]=arguments[_key23]}for(var _i14=0,_objs2=objs;_i14<_objs2.length;_i14++){var obj=_objs2[_i14];if(this.isUndefinedNullEmpty(obj))return true}return false}},{key:"getStringHandledByEachLine",value:function getStringHandledByEachLine(string){var predict=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(segment,index,segments){return true};var separator=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"\n";var segments=string.split(separator);var _iterator5=_createForOfIteratorHelper(segments),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var segment=_step5.value;predict(segment,_lodash["default"].indexOf(segments,segment),segments)}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}return segments.join(separator)}},{key:"getSegmentsOfEachLine",value:function getSegmentsOfEachLine(string){return string.split("\n")}},{key:"getNormalizedStringEndWith",value:function getNormalizedStringEndWith(string,predicate){string=this.toCDB(string);predicate=this.toCDB(predicate);var after=_lodash["default"].join(_lodash["default"].dropRightWhile(string,function(each){return!_lodash["default"].isEqual(each,predicate)}),"");return _lodash["default"].isEmpty(after)?string:after}},{key:"getNormalizedStringNotStartWith",value:function getNormalizedStringNotStartWith(string){var _this2=this;for(var _len21=arguments.length,predicate=new Array(_len21>1?_len21-1:0),_key24=1;_key24<_len21;_key24++){predicate[_key24-1]=arguments[_key24]}string=this.toCDB(string);var after=_lodash["default"].join(_lodash["default"].dropWhile(string,function(each){return _this2.has(predicate,each)}),"");return _lodash["default"].isEmpty(after)?string:after}},{key:"getNormalizedStringNotEndWith",value:function getNormalizedStringNotEndWith(string){var _this3=this;for(var _len22=arguments.length,predicate=new Array(_len22>1?_len22-1:0),_key25=1;_key25<_len22;_key25++){predicate[_key25-1]=arguments[_key25]}string=this.toCDB(string);var after=_lodash["default"].join(_lodash["default"].dropRightWhile(string,function(each){return _this3.has(predicate,each)}),"");return _lodash["default"].isEmpty(after)?string:after}},{key:"getTodayTimeFormat",value:function getTodayTimeFormat(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YYYY-MM-DD")}},{key:"getCustomFormatOfDatePresent",value:function getCustomFormatOfDatePresent(ts){var format=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"YY/MM";return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format(format)}},{key:"getSimpleDateYYMMDDFormat",value:function getSimpleDateYYMMDDFormat(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YY/MM/DD")}},{key:"getSimpleTimeYYMMDDHHmmFormat",value:function getSimpleTimeYYMMDDHHmmFormat(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YY/MM/DD HH:mm")}},{key:"getECPayCurrentTimeFormat",value:function getECPayCurrentTimeFormat(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YYYY/MM/DD HH:mm:ss")}},{key:"getCurrentTimeFormatV2",value:function getCurrentTimeFormatV2(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YYYY/MM/DD HH:mm:ss")}},{key:"getCurrentTimeFormatYMDHM",value:function getCurrentTimeFormatYMDHM(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YYYY/MM/DD HH:mm")}},{key:"getCurrentTimeFormatYMDHMS",value:function getCurrentTimeFormatYMDHMS(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YYYY/MM/DD HH:mm:ss")}},{key:"getCurrentTimeFormat",value:function getCurrentTimeFormat(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YYYY-MM-DD-HH-mm-ss")}},{key:"getCurrentMillionSecTimeFormat",value:function getCurrentMillionSecTimeFormat(ts){return(0,_momentTimezone["default"])(ts?ts:undefined).format("YYYY-MM-DD-HH-mm-ss-SSS")}},{key:"isBetweenTimeStamp",value:function isBetweenTimeStamp(){var target=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.getCurrentTimeStamp();var min=arguments.length>1?arguments[1]:undefined;var max=arguments.length>2?arguments[2]:undefined;return(0,_momentTimezone["default"])(target).isBetween(min,max)}},{key:"isBeforeTimeStamp",value:function isBeforeTimeStamp(){var target=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.getCurrentTimeStamp();var time=arguments.length>1?arguments[1]:undefined;return(0,_momentTimezone["default"])(target).isBefore(time)}},{key:"isAfterTimeStamp",value:function isAfterTimeStamp(){var target=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.getCurrentTimeStamp();var time=arguments.length>1?arguments[1]:undefined;return(0,_momentTimezone["default"])(target).isAfter(time)}},{key:"formatTimeByLocale",value:function formatTimeByLocale(ts){var location=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"zh-TW";var timezone=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"Asia/Taipei";var use24Hour=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;_momentTimezone["default"].locale(location);var m=(0,_momentTimezone["default"])(ts).tz(timezone);var formatStr=use24Hour?"YYYY/MM/DD HH:mm":"YYYY/MM/DD hh:mm A";return m.format(formatStr)}},{key:"getTimeStampWithConditions",value:function getTimeStampWithConditions(){var param=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{days:0,months:0,years:0,minutes:0,seconds:0,hours:0};var target=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.getCurrentTimeStamp();var base=(0,_momentTimezone["default"])(target);for(var each in param){var number=param[each];var unit=each;if(number>0){base=base.add(number,unit)}if(number<0){base=base.subtract(Math.abs(number),unit)}}return base.valueOf()}},{key:"getTimeStampByStringFormat",value:function getTimeStampByStringFormat(string){return this.getTimeStampFromSpecificFormat(string,"YYYY/MM/DD HH:mm:ss").valueOf()}},{key:"getTimeStampFromSpecificFormat",value:function getTimeStampFromSpecificFormat(string){var format=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"YYYY/MM/DD HH:mm:ss";return(0,_momentTimezone["default"])(string,format).valueOf()}},{key:"getTimeStampFromECPayStringFormat",value:function getTimeStampFromECPayStringFormat(string){return this.getTimeStampFromSpecificFormat(string,"YYYY/MM/DD HH:mm:ss").valueOf()}},{key:"getTimeFormatOfDurationToMillionSecond",value:function getTimeFormatOfDurationToMillionSecond(duration){return _momentTimezone["default"].utc(duration).format("HH\u5C0F\u6642mm\u5206\u9418ss\u79D2SSS")}},{key:"getTimeFormatOfDurationToSecond",value:function getTimeFormatOfDurationToSecond(duration){return _momentTimezone["default"].utc(duration).format("HH\u5C0F\u6642mm\u5206\u9418ss\u79D2")}},{key:"getTimeFormatOfDurationToDay",value:function getTimeFormatOfDurationToDay(duration){return _momentTimezone["default"].utc(duration).format("DD\u5929HH\u5C0F\u6642mm\u5206\u9418ss\u79D2")}},{key:"getChineseTimeFormat",value:function getChineseTimeFormat(ts){_momentTimezone["default"].locale("zh-TW");return(0,_momentTimezone["default"])(ts).format("LLLL")}},{key:"getMinuteFormatOfDuration",value:function getMinuteFormatOfDuration(ds){return _momentTimezone["default"].duration(ds).asMinutes()}},{key:"getSecondFormatOfDuration",value:function getSecondFormatOfDuration(ds){return _momentTimezone["default"].duration(ds).asSeconds()}},{key:"getDayFormatOfDuration",value:function getDayFormatOfDuration(ds){return _momentTimezone["default"].duration(ds).asDays()}},{key:"getDurationOfMillionSec",value:function getDurationOfMillionSec(dateOrTimeStamp){var currentTimestamp=this.getCurrentTimeStamp();var targetTimeStamp=(0,_momentTimezone["default"])(dateOrTimeStamp).valueOf();var queue=_lodash["default"].sortBy([{ts:currentTimestamp},{ts:targetTimeStamp}],function(each){return each.ts}).map(function(each){return each.ts});var after=(0,_momentTimezone["default"])(queue.pop());var before=(0,_momentTimezone["default"])(queue.shift());var duration=_momentTimezone["default"].duration(after.diff(before));var ms=duration.asMilliseconds();return ms}},{key:"getCurrentTimeStamp",value:function getCurrentTimeStamp(){return(0,_momentTimezone["default"])().valueOf()}},{key:"isStringContainInLines",value:function isStringContainInLines(context,key){var _iterator6=_createForOfIteratorHelper(_lodash["default"].split(context,"\n")),_step6;try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var each=_step6.value;if(this.has(each,key))return true}}catch(err){_iterator6.e(err)}finally{_iterator6.f()}return false}},{key:"camel",value:function camel(){for(var _len23=arguments.length,words=new Array(_len23),_key26=0;_key26<_len23;_key26++){words[_key26]=arguments[_key26]}return _lodash["default"].camelCase(words.join("_"))}},{key:"upperCamel",value:function upperCamel(){return _lodash["default"].upperFirst(this.camel.apply(this,arguments))}},{key:"array2Obj",value:function array2Obj(array){var obj={};var _iterator7=_createForOfIteratorHelper(array),_step7;try{for(_iterator7.s();!(_step7=_iterator7.n()).done;){var each=_step7.value;obj["".concat(this.getObjectKey(each))]=this.getObjectValue(each)}}catch(err){_iterator7.e(err)}finally{_iterator7.f()}return obj}},{key:"arrayToObjWith",value:function arrayToObjWith(array,predicate){var obj={};var _iterator8=_createForOfIteratorHelper(array),_step8;try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var item=_step8.value;var _key27=predicate(item);var content=obj[_key27];if(content&&_lodash["default"].isArray(content)){content.push(item)}else{obj[_key27]=[item]}}}catch(err){_iterator8.e(err)}finally{_iterator8.f()}return obj}},{key:"isEmptyString",value:function isEmptyString(string){return _lodash["default"].isEqual(_lodash["default"].trim(string),"")}},{key:"mergeObject",value:function mergeObject(){return _lodash["default"].merge.apply(_lodash["default"],arguments)}},{key:"syncSetTimeout",value:function syncSetTimeout(func,ms){var callback=arguments.length>2&&arguments[2]!==undefined?arguments[2]:function(){};(function sync(done){if(!done){setTimeout(function(){func();sync(true)},ms);return}callback()})()}},{key:"mergeArrayBy",value:function mergeArrayBy(){var identifier=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"id";for(var _len24=arguments.length,array=new Array(_len24>1?_len24-1:0),_key28=1;_key28<_len24;_key28++){array[_key28-1]=arguments[_key28]}return Object.values(array.flat().reduce(function(acc,item){if(item[identifier])acc[item[identifier]]=_objectSpread(_objectSpread({},acc[item[identifier]]||{}),item);return acc},{}))}},{key:"getRelativePath",value:function getRelativePath(pathName,rootName){return _lodash["default"].dropWhile(pathName,function(each,index){return _lodash["default"].isEqual(each,rootName[index])}).join("")}},{key:"dropItemsByIndex",value:function dropItemsByIndex(array,from,end){_lodash["default"].remove(array,function(value,index,array){return end>=index&&index>=from})}},{key:"isEven",value:function isEven(n){return n%2===0}},{key:"isOdd",value:function isOdd(n){return Math.abs(n%2)===1}},{key:"enrichZhTw",value:function enrichZhTw(){_momentTimezone["default"].locale("zh-tw",{months:"\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"),weekdaysShort:"\u5468\u65E5_\u5468\u4E00_\u5468\u4E8C_\u5468\u4E09_\u5468\u56DB_\u5468\u4E94_\u5468\u516D".split("_"),weekdaysMin:"\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"),longDateFormat:{LT:"Ah\u9EDEmm\u5206",LTS:"Ah\u9EDEm\u5206s\u79D2",L:"YYYY-MM-DD",LL:"YYYY\u5E74MMMD\u65E5",LLL:"YYYY\u5E74MMMD\u65E5Ah\u9EDEmm\u5206",LLLL:"YYYY\u5E74MMMD\u65E5ddddAh\u9EDEmm\u5206",l:"YYYY-MM-DD",ll:"YYYY\u5E74MMMD\u65E5",lll:"YYYY\u5E74MMMD\u65E5Ah\u9EDEmm\u5206",llll:"YYYY\u5E74MMMD\u65E5ddddAh\u9EDEmm\u5206"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function meridiemHour(h,meridiem){var hour=h;if(hour===12){hour=0}if(meridiem==="\u51CC\u6668"||meridiem==="\u65E9\u4E0A"||meridiem==="\u4E0A\u5348"){return hour}else if(meridiem==="\u4E0B\u5348"||meridiem==="\u665A\u4E0A"){return hour+12}else{return hour>=11?hour:hour+12}},meridiem:function meridiem(hour,minute,isLower){var hm=hour*100+minute;if(hm<600){return"\u51CC\u6668"}else if(hm<900){return"\u65E9\u4E0A"}else if(hm<1130){return"\u4E0A\u5348"}else if(hm<1230){return"\u4E2D\u5348"}else if(hm<1800){return"\u4E0B\u5348"}else{return"\u665A\u4E0A"}},calendar:{sameDay:function sameDay(){return this.minutes()===0?"[\u4ECA\u5929]Ah[\u9EDE\u6574]":"[\u4ECA\u5929]LT"},nextDay:function nextDay(){return this.minutes()===0?"[\u660E\u5929]Ah[\u9EDE\u6574]":"[\u660E\u5929]LT"},lastDay:function lastDay(){return this.minutes()===0?"[\u6628\u5929]Ah[\u9EDE\u6574]":"[\u6628\u5929]LT"},nextWeek:function nextWeek(){var startOfWeek,prefix;startOfWeek=(0,_momentTimezone["default"])().startOf("week");prefix=this.diff(startOfWeek,"days")>=7?"[\u4E0B]":"[\u672C]";return this.minutes()===0?prefix+"dddA\u9EDE\u6574":prefix+"dddAh\u9EDEmm"},lastWeek:function lastWeek(){var startOfWeek,prefix;startOfWeek=(0,_momentTimezone["default"])().startOf("week");prefix=this.unix()<startOfWeek.unix()?"[\u4E0A]":"[\u672C]";return this.minutes()===0?prefix+"dddAh\u9EDE\u6574":prefix+"dddAh\u9EDEmm"},sameElse:"LL"},ordinalParse:/\d{1,2}(日|月|周)/,ordinal:function ordinal(number,period){switch(period){case"d":case"D":case"DDD":return number+"\u65E5";case"M":return number+"\u6708";case"w":case"W":return number+"\u5468";default:return number}},relativeTime:{future:"%s\u5185",past:"%s\u524D",s:"\u5E7E\u79D2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5C0F\u6642",hh:"%d \u5C0F\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500B\u6708",MM:"%d \u4E2A\u6708",y:"1 \u5E74",yy:"%d \u5E74"},week:{dow:1,doy:4}})}},{key:"getVisibleOrHidden",value:function getVisibleOrHidden(judgement){return{visibility:judgement?"visible":"hidden"}}},{key:"getNumberOfPercentageToFloat",value:function getNumberOfPercentageToFloat(percentage){var cleanedPercentage=percentage.replace("%","");var floatNumber=parseFloat(cleanedPercentage)/100;return floatNumber}},{key:"getVisibleOrNone",value:function getVisibleOrNone(judgement){var flex=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return{display:judgement?flex?"flex":"inherit":"none"}}},{key:"stringToInteger",value:function stringToInteger(string){string=_lodash["default"].toUpper(string);switch(string){case"A":return 0;case"B":return 1;case"C":return 2;case"D":return 3;case"E":return 4;case"F":return 5;case"G":return 6;case"H":return 7;case"I":return 8;case"J":return 9;case"K":return 10;case"L":return 11;case"M":return 12;case"N":return 13;default:return 101}}},{key:"integerToString",value:function integerToString(integer){switch(integer){case 0:return"A";case 1:return"B";case 2:return"C";case 3:return"D";case 4:return"E";case 5:return"F";case 6:return"G";case 7:return"H";case 8:return"I";case 9:return"J";case 10:return"K";case 11:return"L";case 12:return"M";case 13:return"N";default:return"Z"}}},{key:"toObjectMap",value:function toObjectMap(array){var newbies=[];for(var _len25=arguments.length,rules=new Array(_len25>1?_len25-1:0),_key29=1;_key29<_len25;_key29++){rules[_key29-1]=arguments[_key29]}var _iterator9=_createForOfIteratorHelper(array),_step9;try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){var each=_step9.value;var object={};var _iterator10=_createForOfIteratorHelper(rules),_step10;try{for(_iterator10.s();!(_step10=_iterator10.n()).done;){var rule=_step10.value;var func=rule.func?rule.func:function(stmt){return stmt};object[rule.to]=this.isUndefinedNullEmpty(rule.from)||!_lodash["default"].isObject(each)?func(each):func(each[rule.from])}}catch(err){_iterator10.e(err)}finally{_iterator10.f()}newbies.push(object)}}catch(err){_iterator9.e(err)}finally{_iterator9.f()}return newbies}},{key:"exeAll",value:function exeAll(collection){for(var _len26=arguments.length,funcs=new Array(_len26>1?_len26-1:0),_key30=1;_key30<_len26;_key30++){funcs[_key30-1]=arguments[_key30]}if(_lodash["default"].isArray(collection)){var _iterator11=_createForOfIteratorHelper(collection),_step11;try{for(_iterator11.s();!(_step11=_iterator11.n()).done;){var each=_step11.value;var _iterator12=_createForOfIteratorHelper(funcs),_step12;try{for(_iterator12.s();!(_step12=_iterator12.n()).done;){var func=_step12.value;func(each)}}catch(err){_iterator12.e(err)}finally{_iterator12.f()}}}catch(err){_iterator11.e(err)}finally{_iterator11.f()}}else if(_lodash["default"].isObject(collection)){for(var _each in collection){var _iterator13=_createForOfIteratorHelper(funcs),_step13;try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){var _func=_step13.value;collection[_each]=_func(collection[_each])}}catch(err){_iterator13.e(err)}finally{_iterator13.f()}}}else{throw new _exceptioner["default"](9999,"7841212 type can't be array or object")}return collection}},{key:"getObjectWhile",value:function getObjectWhile(major,minor){var predicate=arguments.length>2&&arguments[2]!==undefined?arguments[2]:function(target){return true};var collection={};for(var _key31 in major){if(predicate(major,minor,_key31)){collection[_key31]=major[_key31]}}return collection}},{key:"getIntersectionObject",value:function getIntersectionObject(objOfMajor,objOfMinor){return this.getObjectWhile(objOfMajor,objOfMinor,function(major,minor,key){return minor[key]!==undefined})}},{key:"getDifferenceObject",value:function getDifferenceObject(objOfMajor,objOfMinor){return this.getObjectWhile(objOfMajor,objOfMinor,function(major,minor,key){return minor[key]===undefined})}},{key:"isObjectContainAndEqual",value:function isObjectContainAndEqual(targetObject,mainObject){var equal=true;for(var _key32 in targetObject){if(mainObject[_key32]===undefined||mainObject[_key32]!==targetObject[_key32]){equal=false;break}}return equal}},{key:"getStringOfPop",value:function getStringOfPop(string,separator){if(!_lodash["default"].isString(string)){throw new _exceptioner["default"](9999,"445115,type should be string but ==> ".concat((0,_typeof2["default"])(string)))}var segments=string.split(separator);segments.pop();return segments.join(separator)}},{key:"getStringOfShift",value:function getStringOfShift(string,separator){if(!_lodash["default"].isString(string)){throw new _exceptioner["default"](9999,"445116,type should be string but ==> ".concat((0,_typeof2["default"])(string)))}var segments=string.split(separator);segments.shift();return segments.join(separator)}},{key:"toObjectWithAttributeKey",value:function toObjectWithAttributeKey(array,attrKeyOfPK){var object={};var _iterator14=_createForOfIteratorHelper(array),_step14;try{for(_iterator14.s();!(_step14=_iterator14.n()).done;){var each=_step14.value;var pk=each[attrKeyOfPK];if(this.isUndefinedNullEmpty(pk)){throw new _exceptioner["default"](9999,"48157232 pk can't be empty => '".concat(pk,"'"))}object[pk]=each}}catch(err){_iterator14.e(err)}finally{_iterator14.f()}return object}},{key:"getObjectOfArraySpecifyAttr",value:function getObjectOfArraySpecifyAttr(array,attr){return this.toObjectWithAttributeKey(array,attr)}},{key:"getStateOfStringContainsSign",value:function getStateOfStringContainsSign(string){for(var _len27=arguments.length,signs=new Array(_len27>1?_len27-1:0),_key33=1;_key33<_len27;_key33++){signs[_key33-1]=arguments[_key33]}for(var _i15=0,_signs=signs;_i15<_signs.length;_i15++){var sign=_signs[_i15];if(this.has(string,sign)){return{exists:true,sign:sign}}}return{exists:false}}},{key:"constraintOfParam",value:function constraintOfParam(collection,type){var result=false;for(var _len28=arguments.length,others=new Array(_len28>2?_len28-2:0),_key34=2;_key34<_len28;_key34++){others[_key34-2]=arguments[_key34]}var validOfOthersCondition=_lodash["default"].isEmpty(others)?true:this.and.apply(this,(0,_toConsumableArray2["default"])(others.map(function(each){return each.logic})));switch(type){case"array":if(_lodash["default"].isArray(collection)&&validOfOthersCondition)result=true;break;case"object":if(_lodash["default"].isObject(collection)&&validOfOthersCondition)result=true;break;case"string":if(_lodash["default"].isString(collection)&&validOfOthersCondition)result=true;break;case"number":if(_lodash["default"].isNumber(collection)&&validOfOthersCondition)result=true;break;case"other":if(validOfOthersCondition)return true}var stringOfRules=_lodash["default"].isEmpty(others)?"":", ".concat(others.map(function(each){return each.message}).join(" | "));if(result===false){throw new _exceptioner["default"](9999,"7474423 type should be ".concat(type," but get '").concat((0,_typeof2["default"])(type),"' ").concat(stringOfRules," "))}}},{key:"getSliceArrayWithMutate",value:function getSliceArrayWithMutate(array,n){var slice=_lodash["default"].remove(array,function(each,index){return index<n});return slice}},{key:"getArrayOfInteraction",value:function getArrayOfInteraction(one,two){return one.filter(function(element){return!two.includes(element)})}},{key:"getArrayOfMoveToSpecificIndex",value:function getArrayOfMoveToSpecificIndex(array,from,to){if(!Array.isArray(array)){throw new Error("First argument must be an array.")}var length=array.length;if(from<0||from>=length||to<0||to>=length){console.warn("Invalid 'from' or 'to' index for getArrayOfMoveToSpecificIndexOptimized.");return(0,_toConsumableArray2["default"])(array)}if(from===to){return(0,_toConsumableArray2["default"])(array)}var copy=(0,_toConsumableArray2["default"])(array);var _copy$splice=copy.splice(from,1),_copy$splice2=(0,_slicedToArray2["default"])(_copy$splice,1),item=_copy$splice2[0];copy.splice(to,0,item);return copy}},{key:"getArrayOfMoveItemToSpecificIndex",value:function getArrayOfMoveItemToSpecificIndex(array,item,indexOfDestination){var indexOfItem=_lodash["default"].indexOf(array,item);return this.getArrayOfMoveToSpecificIndex(array,indexOfItem,indexOfDestination)}},{key:"getArrayOfMoveSpecificItemToAside",value:function getArrayOfMoveSpecificItemToAside(array,item){var toTail=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;var indexOfItem=_lodash["default"].indexOf(array,item);return this.getArrayOfMoveSpecificIndexToAside(array,indexOfItem,toTail)}},{key:"getArrayOfMoveSpecificIndexToAside",value:function getArrayOfMoveSpecificIndexToAside(array,index){var toTail=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;var indexOfLast=_lodash["default"].size(array)-1;return this.getArrayOfMoveToSpecificIndex(array,index,toTail?indexOfLast:0)}},{key:"getECPayCheckMacValue",value:function getECPayCheckMacValue(data){var hashKey=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"5294y06JbISpM5x9";var hashIV=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"v77hoKGq4kWxNNIS";var clone=_lodash["default"].cloneDeep(data);delete clone.CheckMacValue;var keys=Object.keys(clone).sort(function(l,r){return l>r?1:-1});var checkValue="";var _iterator15=_createForOfIteratorHelper(keys),_step15;try{for(_iterator15.s();!(_step15=_iterator15.n()).done;){var _key35=_step15.value;checkValue+="".concat(_key35,"=").concat(clone[_key35],"&")}}catch(err){_iterator15.e(err)}finally{_iterator15.f()}checkValue="HashKey=".concat(hashKey,"&").concat(checkValue,"HashIV=").concat(hashIV);checkValue=encodeURIComponent(checkValue).toLowerCase();checkValue=checkValue.replace(/%20/g,"+").replace(/%2d/g,"-").replace(/%5f/g,"_").replace(/%2e/g,".").replace(/%21/g,"!").replace(/%2a/g,"*").replace(/%28/g,"(").replace(/%29/g,")").replace(/%20/g,"+");return _lodash["default"].toUpper(_cryptoJs["default"].SHA256(checkValue).toString(_cryptoJs["default"].enc.Hex))}},{key:"getStringOfHandledHtml",value:function getStringOfHandledHtml(htmlString){var predicate=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(document){console.log(document)};var document=(0,_nodeHtmlParser.parse)(htmlString);predicate(document);return document.toString()}},{key:"getSpecifyObjectBy",value:function getSpecifyObjectBy(array,predicate){var _iterator16=_createForOfIteratorHelper(array),_step16;try{for(_iterator16.s();!(_step16=_iterator16.n()).done;){var item=_step16.value;if(predicate(item))return item}}catch(err){_iterator16.e(err)}finally{_iterator16.f()}}},{key:"validatePayloadObjectValid",value:function validatePayloadObjectValid(content){var rules=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var idOfError=arguments.length>2&&arguments[2]!==undefined?arguments[2]:this.getRandomHash(10);if(this.isUndefinedNullEmpty(content)){throw new _exceptioner["default"](9999,"".concat(idOfError," content(pay-load) is undefined || empty"))}var _iterator17=_createForOfIteratorHelper(rules),_step17;try{for(_iterator17.s();!(_step17=_iterator17.n()).done;){var rule=_step17.value;if(_lodash["default"].isString(rule)){if(this.isUndefinedNullEmpty(content[rule])){throw new _exceptioner["default"](9999,"".concat(idOfError," ATTRIBUTE:'").concat(rule,"' is not Exist"))}}else if(_lodash["default"].isObject(rule)){var _key36=this.getObjectKey(rule);var predicate=this.getObjectValue(rule);if(!predicate(content[_key36])){throw new _exceptioner["default"](9999,"".concat(idOfError," ATTRIBUTE:'").concat(_key36,"' is not valid of custom rule"))}}}}catch(err){_iterator17.e(err)}finally{_iterator17.f()}return true}},{key:"getArrayOfSummarizeBy",value:function getArrayOfSummarizeBy(array,keyOfId,keyOfSum){var obj={};var _iterator18=_createForOfIteratorHelper(array),_step18;try{for(_iterator18.s();!(_step18=_iterator18.n()).done;){var item=_step18.value;var _key38=item[keyOfId];if(obj[_key38]!==undefined){obj[_key38]=obj[_key38]+item[keyOfSum]}else{obj[_key38]=item[keyOfSum]}}}catch(err){_iterator18.e(err)}finally{_iterator18.f()}var items=[];for(var _key37 in obj){var _obj={};_obj[keyOfId]=_key37;_obj[keyOfSum]=obj[_key37];items.push(_obj)}return items}},{key:"getHeadStringSplitBy",value:function getHeadStringSplitBy(string){var sign=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.getSeparatorOfUnique();return _lodash["default"].split(string,sign).shift()}},{key:"getTailStringSplitBy",value:function getTailStringSplitBy(string){var sign=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.getSeparatorOfUnique();return _lodash["default"].split(string,sign).pop()}},{key:"getSlicesByIndexes",value:function getSlicesByIndexes(){var array=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var indexes=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var slices=[];_lodash["default"].each(indexes,function(each,index,arrayOfIndexes){if(_lodash["default"].isEqual(index,indexes.length-1))return false;var slice=_lodash["default"].slice(array,each,indexes[index+1]);slices.push(slice)});return slices}},{key:"getRandomName",value:function getRandomName(){var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:undefined;return(0,_words.generate)(options)}},{key:"getRandomCount",value:function getRandomCount(){var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:undefined;return(0,_words.count)(options)}},{key:"isOverSpecificAge",value:function isOverSpecificAge(birthDate){var target=arguments.length>1&&arguments[1]!==undefined?arguments[1]:18;var age=(0,_momentTimezone["default"])().diff((0,_momentTimezone["default"])(birthDate,"YYYY-MM-DD"),"years");return age>=target}},{key:"isValidEmail",value:function isValidEmail(email){var emailRegex=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;return emailRegex.test(email)}},{key:"isValidTaiwaneseID",value:function isValidTaiwaneseID(idNumber){var idRegex=/^[A-Z][1-2]\d{8}$/;if(!idRegex.test(idNumber)){return false}var weight=[1,9,8,7,6,5,4,3,2,1];var firstChar=idNumber.charCodeAt(0)-65;var sum=firstChar*10+parseInt(idNumber.slice(1));for(var i=0;i<weight.length;i++){sum+=parseInt(idNumber.charAt(i+1))*weight[i]}return sum%10===0}},{key:"validatePersonalInfoInput",value:function validatePersonalInfoInput(name,email,idNumber,phoneNumber,birthday){var ageOfQualify=arguments.length>5&&arguments[5]!==undefined?arguments[5]:12;if(name.length<2){return{valid:false,message:"\u59D3\u540D\u81F3\u5C11\u8981\u5169\u500B\u5B57"}}var emailRegex=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!emailRegex.test(email)){return{valid:false,message:"\u96FB\u5B50\u90F5\u4EF6\u683C\u5F0F\u4E0D\u6B63\u78BA"}}var idRegex=/^[A-Z][1-2]\d{8}$/;if(!idRegex.test(idNumber)){return{valid:false,message:"\u8EAB\u5206\u8B49\u865F\u78BC\u683C\u5F0F\u4E0D\u6B63\u78BA"}}var phoneRegex=/^09\d{8}$/;if(!phoneRegex.test(phoneNumber)){return{valid:false,message:"\u624B\u6A5F\u865F\u78BC\u683C\u5F0F\u4E0D\u6B63\u78BA"}}if(this.isUndefinedNullEmpty(birthday))return{valid:false,message:"\u51FA\u751F\u65E5\u671F\u683C\u5F0F\u4E0D\u6B63\u78BA"};var now=(0,_momentTimezone["default"])();var age=now.diff(birthday,"years");if(age<ageOfQualify){return{valid:false,message:"\u5E74\u9F61\u4E0D\u5F97\u5C0F\u65BC ".concat(ageOfQualify," \u6B72")}}return{valid:true,message:"\u683C\u5F0F\u6AA2\u67E5\u901A\u904E"}}},{key:"getStringOfFormatTimestampRange",value:function getStringOfFormatTimestampRange(startTimestamp,endTimestamp){var startDate=(0,_momentTimezone["default"])(startTimestamp);var endDate=(0,_momentTimezone["default"])(endTimestamp);var formatDate=function formatDate(date){return date.format("YY/MM/DD")};var startYear=startDate.year();var endYear=endDate.year();if(startYear===endYear){return"".concat(formatDate(startDate)," - ").concat(endDate.format("MM/DD"))}else{return"".concat(formatDate(startDate)," - ").concat(formatDate(endDate))}}},{key:"getStringOfCalculateClassTime",value:function getStringOfCalculateClassTime(startTimestamp,endTimestamp,weeklyMinutes){var startDate=(0,_momentTimezone["default"])(startTimestamp);var endDate=(0,_momentTimezone["default"])(endTimestamp);var totalDays=endDate.diff(startDate,"days")+1;var totalWeeks=Math.ceil(totalDays/7);var totalMinutes=totalWeeks*weeklyMinutes;var hours=Math.floor(totalMinutes/60);var minutes=totalMinutes%60;if(minutes===0){return"".concat(hours,"\u5C0F\u6642")}else{return"".concat(hours,"\u5C0F\u6642").concat(minutes,"\u5206\u9418")}}},{key:"getNumberOfPeriodMinute",value:function getNumberOfPeriodMinute(startTimestamp,endTimestamp){var startTime=(0,_momentTimezone["default"])(startTimestamp).format("HH:mm");var endTime=(0,_momentTimezone["default"])(endTimestamp).format("HH:mm");var startDate=(0,_momentTimezone["default"])(startTime,"HH:mm");var endDate=(0,_momentTimezone["default"])(endTime,"HH:mm");var durationInMinutes=_momentTimezone["default"].duration(endDate.diff(startDate)).asMinutes();return durationInMinutes}},{key:"getStringOfWeekTime",value:function getStringOfWeekTime(day,startTimestamp,endTimestamp){var daysOfWeek={1:"\u9031\u4E00",2:"\u9031\u4E8C",3:"\u9031\u4E09",4:"\u9031\u56DB",5:"\u9031\u4E94",6:"\u9031\u516D",7:"\u9031\u65E5"};if(day<1||day>7){throw new Error("day \u5FC5\u9808\u5728 1 \u5230 7 \u4E4B\u9593")}var startTime=(0,_momentTimezone["default"])(startTimestamp).format("HH:mm");var endTime=(0,_momentTimezone["default"])(endTimestamp).format("HH:mm");return"".concat(daysOfWeek[day]," ").concat(startTime,"-").concat(endTime)}},{key:"extractNumber",value:function extractNumber(str){if(this.isUndefinedNullEmpty(str))return-1;var match=str.match(/\d+/);return match?Number(match[0]):-1}},{key:"fetchElementAttribute",value:(function(){var _fetchElementAttribute=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(dom){var attr,defaultValue,_args9=arguments;return _regenerator["default"].wrap(function _callee8$(_context9){while(1)switch(_context9.prev=_context9.next){case 0:attr=_args9.length>1&&_args9[1]!==undefined?_args9[1]:"innerText";defaultValue=_args9.length>2&&_args9[2]!==undefined?_args9[2]:"";_context9.next=4;return dom.evaluate(function(el){return el[attr]});case 4:return _context9.abrupt("return",_context9.sent);case 5:case"end":return _context9.stop()}},_callee8)}));function fetchElementAttribute(_x5){return _fetchElementAttribute.apply(this,arguments)}return fetchElementAttribute}())},{key:"fetchElementAttributes",value:(function(){var _fetchElementAttributes=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(dom,stringOfTrait){var defaultValue,element,_len29,attributes,_key39,_args10=arguments;return _regenerator["default"].wrap(function _callee9$(_context10){while(1)switch(_context10.prev=_context10.next){case 0:defaultValue=_args10.length>2&&_args10[2]!==undefined?_args10[2]:"";_context10.next=3;return dom.$(stringOfTrait);case 3:element=_context10.sent;if(this.isUndefinedNullEmpty(element)){_context10.next=16;break}for(_len29=_args10.length,attributes=new Array(_len29>3?_len29-3:0),_key39=3;_key39<_len29;_key39++){attributes[_key39-3]=_args10[_key39]}_context10.prev=6;_context10.next=9;return element.evaluate(function(el,attributes){if(attributes.length===1)return el[attributes.shift()];return _objectSpread({},attributes.map(function(attr){return el[attr]}))},attributes);case 9:return _context10.abrupt("return",_context10.sent);case 12:_context10.prev=12;_context10.t0=_context10["catch"](6);this.appendError("1581532 ".concat(stringOfTrait," fetch ").concat(JSON.stringify(attributes)," fail, element is not found"));return _context10.abrupt("return",defaultValue);case 16:return _context10.abrupt("return",defaultValue);case 17:case"end":return _context10.stop()}},_callee9,this,[[6,12]])}));function fetchElementAttributes(_x6,_x7){return _fetchElementAttributes.apply(this,arguments)}return fetchElementAttributes}())},{key:"writeElementAttributes",value:(function(){var _writeElementAttributes=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10(dom,stringOfTrait){var element,_len30,attributes,_key40,_args11=arguments;return _regenerator["default"].wrap(function _callee10$(_context11){while(1)switch(_context11.prev=_context11.next){case 0:_context11.next=2;return dom.$(stringOfTrait);case 2:element=_context11.sent;for(_len30=_args11.length,attributes=new Array(_len30>2?_len30-2:0),_key40=2;_key40<_len30;_key40++){attributes[_key40-2]=_args11[_key40]}if(this.isUndefinedNullEmpty(element)){_context11.next=9;break}_context11.next=7;return element.evaluate(function(element,attributes){attributes.map(function(attr){var entries=Object.entries(attr);var key=entries[0][0];var value=entries[0][1];element[key]=value})},attributes);case 7:_context11.next=10;break;case 9:this.appendError("1231232 ".concat(stringOfTrait," fetch ").concat(JSON.stringify(attributes)," fail, element is not found"));case 10:case"end":return _context11.stop()}},_callee10,this)}));function writeElementAttributes(_x8,_x9){return _writeElementAttributes.apply(this,arguments)}return writeElementAttributes}())},{key:"getSliceArrayOfUnique",value:function getSliceArrayOfUnique(array){if(!Array.isArray(array)||array.length===0){return[]}var firstElement=array[0];if(_lodash["default"].isObject(firstElement)&&key){var uniqueMap=new Map(array.map(function(item){return[item[key],item]}));return Array.from(uniqueMap.values())}else if(_lodash["default"].isObject(firstElement)){console.warn("getSliceArrayOfUniqueOptimized: No key provided for object array, using potentially slow deep comparison.");return _lodash["default"].uniqWith(array,_lodash["default"].isEqual)}else{return Array.from(new Set(array))}}},{key:"getUniqueValuesBy",value:function getUniqueValuesBy(array){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"valueOfType";return _lodash["default"].uniq(array.map(function(item){return item[key]}))}},{key:"generateCombinations",value:function generateCombinations(){for(var _len31=arguments.length,attributes=new Array(_len31),_key41=0;_key41<_len31;_key41++){attributes[_key41]=arguments[_key41]}var keys=attributes.map(function(attr){return attr.key});var labelMap=_lodash["default"].keyBy(attributes,"key");var optionArrays=attributes.map(function(attr){return attr.options.map(function(option){return{key:attr.key,value:option.value,label:option.label}})});var cartesianProduct=_lodash["default"].reduce(optionArrays,function(acc,curr){return _lodash["default"].flatMap(acc,function(a){return curr.map(function(b){return[].concat((0,_toConsumableArray2["default"])(a),[b])})})},[[]]);var results=cartesianProduct.map(function(combination){var trait={};var idParts=[];var contentParts=[];var _iterator19=_createForOfIteratorHelper(combination),_step19;try{for(_iterator19.s();!(_step19=_iterator19.n()).done;){var _step19$value=_step19.value,_key42=_step19$value.key,value=_step19$value.value,label=_step19$value.label;trait[_key42]=value;idParts.push("".concat(_key42,"_").concat(value));contentParts.push("".concat(label))}}catch(err){_iterator19.e(err)}finally{_iterator19.f()}return{trait:trait,id:idParts.join("_"),content:contentParts.join("\uFF5C")}});return _lodash["default"].sortBy(results,function(item){return keys.map(function(key){return item.trait[key]})})}},{key:"extractStaticSegments",value:function extractStaticSegments(path){var rules=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[":"];return path.trim().replace(/^\.?\/*|\/*$/g,"").split("/").filter(function(segment){return segment&&!rules.some(function(rule){return segment.startsWith(rule)})})}},{key:"mutateRemoveKeys",value:function mutateRemoveKeys(array,keysToRemove){_lodash["default"].forEach(array,function(obj,index){var filtered=Object.fromEntries(Object.entries(obj).filter(function(_ref8){var _ref9=(0,_slicedToArray2["default"])(_ref8,1),key=_ref9[0];return!keysToRemove.includes(key)}));Object.keys(obj).forEach(function(k){return delete obj[k]});Object.assign(obj,filtered)})}},{key:"removeKeysFromArrayObjects",value:function removeKeysFromArrayObjects(array,keysToRemove){return _lodash["default"].map(array,function(obj){return Object.fromEntries(Object.entries(obj).filter(function(_ref10){var _ref11=(0,_slicedToArray2["default"])(_ref10,1),key=_ref11[0];return!keysToRemove.includes(key)}))})}},{key:"formatTextWithEllipsis",value:function formatTextWithEllipsis(originalText,maxLength){var ellipsis="......";var ellipsisLength=ellipsis.length;if(_lodash["default"].size(originalText)<=maxLength)return originalText;if(maxLength<=ellipsisLength)return"";var remainingLength=maxLength-ellipsisLength;var frontLength=Math.floor(remainingLength/2);var backLength=remainingLength-frontLength;var front=_lodash["default"].truncate(originalText,{length:frontLength,omission:""});var back=_lodash["default"].takeRight(originalText,backLength).join("");return"".concat(front).concat(ellipsis).concat(back)}},{key:"getObjectBy",value:function getObjectBy(obj){var predict=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(attr){return attr.checked!==true};return _lodash["default"].fromPairs(_lodash["default"].toPairs(obj).filter(function(_ref12){var _ref13=(0,_slicedToArray2["default"])(_ref12,2),_=_ref13[0],value=_ref13[1];return predict(value)}))}},{key:"mutateBy",value:function mutateBy(array){var predict=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(item){return item};var sorted=_lodash["default"].sortBy(array,predict);array.splice.apply(array,[0,array.length].concat((0,_toConsumableArray2["default"])(sorted)))}},{key:"findUniqueStrings",value:function findUniqueStrings(){for(var _len32=arguments.length,arrays=new Array(_len32),_key43=0;_key43<_len32;_key43++){arrays[_key43]=arguments[_key43]}var allStrings=_lodash["default"].flatten(arrays);var grouped=_lodash["default"].countBy(allStrings);return _lodash["default"].chain(grouped).pickBy(function(count){return count===1}).keys().compact().value()}},{key:"getObjectOfSpecifyKey",value:function getObjectOfSpecifyKey(value,key){var object={};object[key]=value;return object}},{key:"findUniqueNonReferenceStrings",value:function findUniqueNonReferenceStrings(){for(var _len33=arguments.length,arrays=new Array(_len33),_key44=0;_key44<_len33;_key44++){arrays[_key44]=arguments[_key44]}if(arrays.length===0)return[];var reference=arrays[0],rest=arrays.slice(1);var allExceptRef=_lodash["default"].flatten(rest);var counted=_lodash["default"].countBy(allExceptRef);return _lodash["default"].chain(counted).pickBy(function(count,str){return count===1&&!reference.includes(str)}).keys().compact().value()}},{key:"getArrayOfFillMissingValues",value:function getArrayOfFillMissingValues(array){var charset="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";var generateRandomValue=function generateRandomValue(){return _lodash["default"].times(8,function(){return _lodash["default"].sample(charset)}).join("")};var usedValues=new Set(array.map(function(item){return item.value}).filter(Boolean));return array.map(function(item){if(_lodash["default"].isEmpty(item.value)){var newValue;do{newValue=generateRandomValue()}while(usedValues.has(newValue));usedValues.add(newValue);return _objectSpread(_objectSpread({},item),{},{value:newValue})}return item})}},{key:"isFirestoreAutoId",value:function isFirestoreAutoId(id){return _lodash["default"].isString(id)&&id.length===20&&/^[A-Za-z0-9]{20}$/.test(id)}},{key:"getAutoIdOfFirestore",value:function getAutoIdOfFirestore(){return this.getRandomHashV2(20)}},{key:"getStringOfConvertTimeRange",value:function getStringOfConvertTimeRange(input){var _input$split=input.split("\uFF5C"),_input$split2=(0,_slicedToArray2["default"])(_input$split,2),datePart=_input$split2[0],timeRange=_input$split2[1];var dateStr=datePart.split("(")[0];var _timeRange$split=timeRange.split("-"),_timeRange$split2=(0,_slicedToArray2["default"])(_timeRange$split,2),start=_timeRange$split2[0],end=_timeRange$split2[1];var formatDate=function formatDate(time){return(0,_momentTimezone["default"])("".concat(dateStr," ").concat(time),"YYYY/MM/DD HH:mm").format("YYYYMMDDHHmm")};return"".concat(formatDate(start),"-").concat(formatDate(end))}},{key:"getTSOfSpecificDate",value:function getTSOfSpecificDate(dateStr){var _ref14=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref14$end=_ref14.end,end=_ref14$end===void 0?false:_ref14$end;return Number((0,_lodash["default"])(dateStr).thru(function(str){return(0,_momentTimezone["default"])(str.split("(")[0],"YYYY/MM/DD")}).thru(function(m){return end?m.endOf("day"):m.startOf("day")}).value().format("YYYYMMDDHHmmss"))}},{key:"isHttpsURL",value:function isHttpsURL(url){if(!_lodash["default"].isString(url))return false;try{var decoded=decodeURIComponent(url.trim());var parsed=new URL(decoded);return parsed.protocol==="https:"}catch(e){return false}}},{key:"generateUniqueCodeMap",value:function generateUniqueCodeMap(array){var length=arguments.length>1&&arguments[1]!==undefined?arguments[1]:3;if(length<2){throw new Error("\u4EE3\u78BC\u9577\u5EA6\u6700\u5C11\u5FC5\u9808\u70BA 2\u3002")}var usedCodes=new Set;var usedKeys=new Set;var generateRandomCode=function generateRandomCode(){var letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";var chars=letters+"0123456789";var code;do{code=letters[Math.floor(Math.random()*letters.length)];for(var i=1;i<length;i++){code+=chars[Math.floor(Math.random()*chars.length)]}}while(usedCodes.has(code));usedCodes.add(code);return code};return _lodash["default"].transform(array,function(result,key){if(usedKeys.has(key)){throw new Error("23125453 Duplicate key detected: \"".concat(key,"\""))}usedKeys.add(key);result[key]=generateRandomCode()},{})}},{key:"getPriceOfPercentageBehavior",value:function getPriceOfPercentageBehavior(price,percentage){var discount=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var decimal=this.toPercentageDecimal(percentage);return this.getNumberOfMultiplyCeil(price,discount?1-decimal:1+decimal)}},{key:"mergeArrayByKey",value:function mergeArrayByKey(array){if(!Array.isArray(array))return array;var resultMap={};var _iterator20=_createForOfIteratorHelper(array),_step20;try{for(_iterator20.s();!(_step20=_iterator20.n()).done;){var obj=_step20.value;if(!_lodash["default"].isPlainObject(obj))continue;for(var _i16=0,_Object$entries=Object.entries(obj);_i16<_Object$entries.length;_i16++){var _Object$entries$_i=(0,_slicedToArray2["default"])(_Object$entries[_i16],2),_key45=_Object$entries$_i[0],value=_Object$entries$_i[1];if(!resultMap[_key45]){resultMap[_key45]=_lodash["default"].cloneDeep(value)}else{_lodash["default"].merge(resultMap[_key45],value)}}}}catch(err){_iterator20.e(err)}finally{_iterator20.f()}array.length=0;Object.entries(resultMap).forEach(function(_ref15){var _ref16=(0,_slicedToArray2["default"])(_ref15,2),key=_ref16[0],value=_ref16[1];array.push((0,_defineProperty2["default"])({},key,value))});return array}},{key:"getObjectOfStartEndDateTime",value:function getObjectOfStartEndDateTime(input){if(!input||typeof input!=="string"){return{startDate:"",startTime:"",endDate:"",endTime:""}}var cleaned=input.replace(/|/g," ").replace(/-/g,"-").replace(/\s+/g," ").trim();var crossDatePattern=/(\d{4}\/\d{1,2}\/\d{1,2})(?:\s*\([^)]*\))?\s*(\d{2}:\d{2})\s*-\s*(\d{4}\/\d{1,2}\/\d{1,2})(?:\s*\([^)]*\))?\s*(\d{2}:\d{2})/;var sameDatePattern=/(\d{4}\/\d{1,2}\/\d{1,2})(?:\s*\([^)]*\))?\s*(\d{2}:\d{2})\s*-\s*(\d{2}:\d{2})/;var startDate,startTime,endDate,endTime;if(crossDatePattern.test(cleaned)){var _cleaned$match=cleaned.match(crossDatePattern);var _cleaned$match2=(0,_slicedToArray2["default"])(_cleaned$match,5);startDate=_cleaned$match2[1];startTime=_cleaned$match2[2];endDate=_cleaned$match2[3];endTime=_cleaned$match2[4]}else if(sameDatePattern.test(cleaned)){var _cleaned$match3=cleaned.match(sameDatePattern);var _cleaned$match4=(0,_slicedToArray2["default"])(_cleaned$match3,4);startDate=_cleaned$match4[1];startTime=_cleaned$match4[2];endTime=_cleaned$match4[3];endDate=startDate}else{return{startDate:"",startTime:"",endDate:"",endTime:""}}var start=new Date("".concat(startDate," ").concat(startTime));var end=new Date("".concat(endDate," ").concat(endTime));if(end<start){throw new Error("End time cannot be earlier than start time: ".concat(input))}return{startDate:startDate,startTime:startTime,endDate:endDate,endTime:endTime}}},{key:"getFilteredHeraPeriods",value:function getFilteredHeraPeriods(arr,idOfCurrentBooze){return _lodash["default"].chain(arr).filter(function(item){return item.idOfBooze!==idOfCurrentBooze}).uniqBy(function(item){return"".concat(item.idOfBooze,"_").concat(item.idOfVariant)}).value()}},{key:"checkPeriodConflict",value:function checkPeriodConflict(newTask,existingTasks){var resourceCount=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;var _newTask$content$spli=newTask.content.split("\uFF5C"),_newTask$content$spli2=(0,_slicedToArray2["default"])(_newTask$content$spli,2),datePart=_newTask$content$spli2[0],timePart=_newTask$content$spli2[1];var date=(0,_momentTimezone["default"])(datePart.split(" ")[0],"YYYY/MM/DD");var _timePart$split=timePart.split("-"),_timePart$split2=(0,_slicedToArray2["default"])(_timePart$split,2),startTimeStr=_timePart$split2[0],endTimeStr=_timePart$split2[1];var start=(0,_momentTimezone["default"])("".concat(date.format("YYYY/MM/DD")," ").concat(startTimeStr),"YYYY/MM/DD HH:mm");var end=(0,_momentTimezone["default"])("".concat(date.format("YYYY/MM/DD")," ").concat(endTimeStr),"YYYY/MM/DD HH:mm");var conflictItems=_lodash["default"].filter(existingTasks,function(task){var _task$period$split=task.period.split("-"),_task$period$split2=(0,_slicedToArray2["default"])(_task$period$split,2),pStartStr=_task$period$split2[0],pEndStr=_task$period$split2[1];var pStart=(0,_momentTimezone["default"])(pStartStr,"YYYYMMDDHHmm");var pEnd=(0,_momentTimezone["default"])(pEndStr,"YYYYMMDDHHmm");return start.isBefore(pEnd)&&end.isAfter(pStart)});var conflict=conflictItems.length>=resourceCount;return{conflict:conflict,items:conflictItems}}}])}();var _default=exports["default"]=Utiller;
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _lodash=_interopRequireDefault(require("lodash"));var _cryptoJs=_interopRequireDefault(require("crypto-js"));var _configerer=require("configerer");var _exceptioner=_interopRequireDefault(require("../exceptioner"));var _momentTimezone=_interopRequireDefault(require("moment-timezone"));var _uuid=require("uuid");var _words=require("../words");var _nodeHtmlParser=require("node-html-parser");function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]}},e:function e(r){throw r},f:F}}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 o,a=!0,u=!1;return{s:function s(){t=t.call(r)},n:function n(){var r=t.next();return a=r.done,r},e:function e(r){u=!0,o=r},f:function f(){try{a||null==t["return"]||t["return"]()}finally{if(u)throw o}}}}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}String.format=function(){var param=[];for(var i=0,l=arguments.length;i<l;i++){param.push(arguments[i])}var statment=param[0];param.shift();return statment.replace(/\{(\d+)\}/g,function(m,n){return param[n]})};var Utiller=function(){function Utiller(){var _this=this;(0,_classCallCheck2["default"])(this,Utiller);(0,_defineProperty2["default"])(this,"mapOfIdNTimeoutId",{});(0,_defineProperty2["default"])(this,"getEnvironment",function(){return _this.env});(0,_defineProperty2["default"])(this,"isProductionEnvironment",function(){return _lodash["default"].isEqual(_this.getEnvironment(),"prod")});(0,_defineProperty2["default"])(this,"asyncUnitTaskFunction",function(){var millionSec=arguments.length>0&&arguments[0]!==undefined?arguments[0]:2000;var _funparam=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"\u9810\u8A2D\u7684param";var errorSimulator=arguments.length>2?arguments[2]:undefined;return(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){var param,randomValue,symbol,_args=arguments;return _regenerator["default"].wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:param=_args.length>0&&_args[0]!==undefined?_args[0]:_this.getRandomHash(10);randomValue=_this.getRandomValue(millionSec,millionSec*1.2);_context.prev=2;symbol=randomValue;_this.appendInfo("before executed ===> i'm symbol of ".concat(symbol,", ready to be executed, inner param = ").concat(_funparam));_context.next=7;return _this.syncDelay(randomValue);case 7:if(!(_lodash["default"].isFunction(errorSimulator)&&errorSimulator(param))){_context.next=9;break}throw Error("force to made error happen");case 9:_this.appendInfo("after executed ===> i'm symbol of ".concat(symbol,", the task cost ").concat(randomValue," million-seconds ").concat(param?"i hav params ===> ".concat(param):""));return _context.abrupt("return",{randomValue:randomValue,symbol:symbol,param:param});case 13:_context.prev=13;_context.t0=_context["catch"](2);_this.appendError(new Error("asyncUnitTask() catch error ".concat(_context.t0.message)));case 16:_context.prev=16;_this.appendInfo("wow.... finally got you");return _context.finish(16);case 19:case"end":return _context.stop()}},_callee,null,[[2,13,16,19]])}))});(0,_defineProperty2["default"])(this,"test",function(word){return(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){return _regenerator["default"].wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return Util.syncDelay(3000);case 2:console.log("\u7D93\u904E\u4E86\u4E09\u79D2");_context2.next=5;return Util.syncDelay(4000);case 5:console.log("\u7D93\u904E\u4E86\u56DB\u79D2");_context2.next=8;return Util.syncDelay(5000);case 8:console.log("\u7D93\u904E\u4E86\u4E94\u79D2");_context2.next=11;return Util.syncDelay(6000);case 11:console.log("\u7D93\u904E\u4E86\u516D\u79D2");return _context2.abrupt("return","3423809432804 ".concat(word));case 13:case"end":return _context2.stop()}},_callee2)}))});(0,_defineProperty2["default"])(this,"findLowestValue",function(items){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"price";var minPrice=_lodash["default"].minBy(items,key)[key];return Math.floor(minPrice)});(0,_defineProperty2["default"])(this,"findHighestValue",function(items){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"price";var maxPrice=_lodash["default"].maxBy(items,key)[key];return Math.floor(maxPrice)});(0,_defineProperty2["default"])(this,"getStringOfValueRange",function(items){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"price";var sign=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"$";var minV=_lodash["default"].minBy(items,key)[key];var maxV=_lodash["default"].maxBy(items,key)[key];return maxV===minV?"$".concat(minV):"".concat(sign).concat(minV," - ").concat(sign).concat(maxV)});(0,_defineProperty2["default"])(this,"getCallersName",function(){var callerName;try{throw new Error}catch(e){var re=/(\w+)@|at (\w+) \(/g,st=e.stack,m;re.exec(st),m=re.exec(st);if(!_lodash["default"].isNull(m))callerName=m[1]||m[2]}if(_lodash["default"].startsWith("asyncGeneratorStep",callerName))callerName="";return callerName});(0,_defineProperty2["default"])(this,"getRandomValue",function(min,max){min=Math.ceil(min);max=Math.floor(max);return Math.floor(Math.random()*(max-min+1))+min});(0,_defineProperty2["default"])(this,"insertToArray",function(array,index){if(!Array.isArray(array)){throw new Error("First argument must be an array.")}var insertAt=Math.max(0,Math.min(index+1,array.length));for(var _len=arguments.length,items=new Array(_len>2?_len-2:0),_key2=2;_key2<_len;_key2++){items[_key2-2]=arguments[_key2]}array.splice.apply(array,[insertAt,0].concat(items))});(0,_defineProperty2["default"])(this,"getStringOfYearADConvertToMinguoYear",function(gregorianYear){var full=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var minguoYear=gregorianYear-1911;if(minguoYear>0){return"".concat(full?"\u6C11\u570B":"").concat(minguoYear).concat(full?"\u5E74":"")}else{return"".concat(full?"\u6C11\u570B":"","\u524D").concat(Math.abs(minguoYear)).concat(full?"\u5E74":"")}});(0,_defineProperty2["default"])(this,"convertDateToTimestamp",function(date){return(0,_momentTimezone["default"])(date).valueOf()});(0,_defineProperty2["default"])(this,"measureExecutionTime",function(){var _ref3=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(fn){var startTime,_len2,param,_key3,endTime,durationInMilliseconds,duration,hours,minutes,seconds,milliseconds,totalSeconds,_args3=arguments;return _regenerator["default"].wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:startTime=Date.now();for(_len2=_args3.length,param=new Array(_len2>1?_len2-1:0),_key3=1;_key3<_len2;_key3++){param[_key3-1]=_args3[_key3]}_context3.next=4;return fn.apply(void 0,param);case 4:endTime=Date.now();durationInMilliseconds=endTime-startTime;duration=_momentTimezone["default"].duration(durationInMilliseconds,"milliseconds");hours=Math.floor(duration.asHours());minutes=duration.minutes();seconds=duration.seconds();milliseconds=duration.milliseconds();totalSeconds=(durationInMilliseconds/1000).toFixed(3);_this.appendInfo("".concat(hours,"\u5C0F\u6642 ").concat(minutes,"\u5206 ").concat(seconds,".").concat(milliseconds.toString().padStart(3,"0"),"\u79D2 (\u5408\u8A08 ").concat(totalSeconds," \u79D2)"));case 13:case"end":return _context3.stop()}},_callee3)}));return function(_x){return _ref3.apply(this,arguments)}}());(0,_defineProperty2["default"])(this,"formatPriceWithCurrency",function(number,locale){if(typeof number!=="number"||typeof locale!=="string"){throw new TypeError("Invalid input: number must be a number and locale must be a string.")}return new Intl.NumberFormat(locale,{style:"currency",currency:new Intl.Locale(locale).maximize().currency||"USD",minimumFractionDigits:0}).format(number)});(0,_defineProperty2["default"])(this,"formatPrice",function(number,locale){if(typeof number!=="number"){throw new TypeError("Invalid input: number must be a number.")}if(!locale){return number.toLocaleString("en-US")}return new Intl.NumberFormat(locale,{style:"currency",currency:new Intl.Locale(locale).maximize().currency||"USD",minimumFractionDigits:0}).format(number)});(0,_defineProperty2["default"])(this,"generateUniversalKeywords",function(sentence){var maxLength=arguments.length>1&&arguments[1]!==undefined?arguments[1]:50;var maxNgramLength=arguments.length>2&&arguments[2]!==undefined?arguments[2]:4;if(!sentence||typeof sentence!=="string"){return[]}if(typeof _lodash["default"]==="undefined"){console.error("Lodash is not available. Please ensure it is imported.");return[]}var textToProcess=sentence.trim();var keywords=[];maxNgramLength=Math.max(2,maxNgramLength);if(textToProcess.length>maxLength){console.warn("\u8B66\u544A\uFF1A\u8F38\u5165\u5B57\u4E32\u9577\u5EA6\u70BA ".concat(textToProcess.length,"\uFF0C\u5DF2\u6839\u64DA maxLength: ").concat(maxLength," \u622A\u65B7\u3002"));textToProcess=textToProcess.substring(0,maxLength)}var englishWords=textToProcess.match(/[a-zA-Z]+/g)||[];englishWords.forEach(function(word){if(word.length>=2){keywords.push(word.toUpperCase());keywords.push(word.toLowerCase());var capitalized=word.charAt(0).toUpperCase()+word.slice(1).toLowerCase();keywords.push(capitalized)}});var specKeywordsRegex=/\b[0-9]+[a-zA-Z]{1,4}\b|\b[0-9]{1,3}(w|ml|g|oz|k)\b|[\u4e00-\u9fa5a-zA-Z0-9]{1,4}(色|號)[\u4e00-\u9fa5a-zA-Z0-9]{0,2}/gi;var specKeywords=(textToProcess.match(specKeywordsRegex)||[]).filter(function(k){return k.length>=2}).map(function(k){return k.toLowerCase()});keywords.push.apply(keywords,(0,_toConsumableArray2["default"])(specKeywords));var cleanText=textToProcess.toLowerCase();cleanText=cleanText.replace(/[0-9]+([\u4e00-\u9fa5a-z]{1,4}|[\/\-\~\\])/g," ").replace(/\b[a-z]{1,4}\b/g," ").replace(/\b[0-9]{1,3}\b/g," ");cleanText=cleanText.replace(/[!@#$%^&*()_+={}\[\]:;"'<>,.?\/\\|`~]/g," ").replace(/系列|一組|單色|多款|套組|全套|專用|迷你|頂級|高品質|超閃|奢華|最新|款式|新款|超亮|的|與|和|閃|美甲/g," ").replace(/\s+/g,"").trim();var minLength=2;for(var len=minLength;len<=maxNgramLength;len++){for(var i=0;i<=cleanText.length-len;i++){var keyword=cleanText.substring(i,i+len);keywords.push(keyword)}}var finalKeywords=_lodash["default"].chain(keywords).filter(function(k){return k.length>=2}).filter(function(k){return k.length>2||!/^[\u4e00-\u9fa5a-z0-9]$/.test(k)}).uniq().sortBy().value();return finalKeywords});(0,_defineProperty2["default"])(this,"mutateIndexOfArrayItem",function(array,object){var index=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;if(!Array.isArray(array)||!_lodash["default"].isObject(object))return array;var currentIndex=_lodash["default"].findIndex(array,function(item){return _lodash["default"].isEqual(item,object)});if(currentIndex===-1)return array;array.splice(currentIndex,1);var targetIndex=_lodash["default"].clamp(index,0,array.length);array.splice(targetIndex,0,object);return array});(0,_defineProperty2["default"])(this,"getArrayOfModifyObject2Index",function(array,object){var index=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;if(!Array.isArray(array)||!_lodash["default"].isObject(object))return array;var cloned=_lodash["default"].cloneDeep(array);var currentIndex=_lodash["default"].findIndex(cloned,function(item){return _lodash["default"].isEqual(item,object)});if(currentIndex===-1)return array;cloned.splice(currentIndex,1);var targetIndex=_lodash["default"].clamp(index,0,cloned.length);cloned.splice(targetIndex,0,object);return cloned});(0,_defineProperty2["default"])(this,"generateLabelValuePairsWithOrigin",function(){var origin=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[{label:"aa",value:1203},{label:"cc",value:1204},{label:"gg",value:2}];var latest=arguments.length>1&&arguments[1]!==undefined?arguments[1]:["aa","bb"];var usedValues=new Set(origin.map(function(o){return o.value}));return _lodash["default"].chain(latest).uniq().map(function(label){var originItem=_lodash["default"].find(origin,{label:label});if(originItem){return{label:label,value:originItem.value}}var value;do{value=_lodash["default"].random(2,999999999)}while(usedValues.has(value));usedValues.add(value);return{label:label,value:value}}).value()});(0,_defineProperty2["default"])(this,"getItemsOfMarkMatching",function(){var sourceArray=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var values=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var valueKey=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"value";var flagKey=arguments.length>3&&arguments[3]!==undefined?arguments[3]:"belong";var valuesSet=new Set(values);return _lodash["default"].map(sourceArray,function(item){return _objectSpread(_objectSpread({},item),{},(0,_defineProperty2["default"])({},flagKey,valuesSet.has(item[valueKey])))})});(0,_defineProperty2["default"])(this,"generateVariants",function(arrays){var labelSeparator=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"\uFF5C";var valueSeparator=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"-";var nonEmptyArrays=arrays.filter(function(arr){return arr.length>0});if(nonEmptyArrays.length===0)return[];if(nonEmptyArrays.length===1){return nonEmptyArrays[0].map(function(item){return{label:item.label,value:item.value}})}var combinations=_lodash["default"].reduce(nonEmptyArrays,function(acc,curr){return _lodash["default"].flatMap(acc,function(a){return curr.map(function(b){return[].concat((0,_toConsumableArray2["default"])(a),[b])})})},[[]]);return combinations.map(function(comb){return{label:comb.map(function(item){return item.label}).join(labelSeparator),value:comb.map(function(item){return item.value}).join(valueSeparator)}})});(0,_defineProperty2["default"])(this,"renameKeysInArray",function(arr){for(var _len3=arguments.length,keyMappings=new Array(_len3>1?_len3-1:0),_key4=1;_key4<_len3;_key4++){keyMappings[_key4-1]=arguments[_key4]}var mapping=Object.fromEntries(keyMappings);return arr.map(function(item){return _lodash["default"].mapKeys(item,function(value,key){return mapping[key]||key})})});(0,_defineProperty2["default"])(this,"getArrayOfMergeBySpecificId",function(array1,array2){var idKey=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"id";if(!Array.isArray(array2))return array1;var map2=_lodash["default"].keyBy(array2,function(item){return _lodash["default"].get(item,idKey)});return array1.map(function(item){var id=_lodash["default"].get(item,idKey);var match=map2[id];return match?_lodash["default"].merge({},item,match):item})});(0,_defineProperty2["default"])(this,"toPercentageDecimal",function(num){if(_lodash["default"].isNil(num))return 1;if(_lodash["default"].isString(num)){num=num.replace(/%/g,"").trim()}var parsed=_lodash["default"].toNumber(num);if(!_lodash["default"].isFinite(parsed))return 1;return _lodash["default"].round(parsed/100,10)});(0,_defineProperty2["default"])(this,"getNumberOfMultiplyCeil",function(a,b){var precision=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;var factor=Math.pow(10,precision);return Math.ceil(a*b*factor)/factor});(0,_defineProperty2["default"])(this,"generateGoogleCalendarLink",function(_ref4){var title=_ref4.title,startDate=_ref4.startDate,startTime=_ref4.startTime,endDate=_ref4.endDate,endTime=_ref4.endTime,location=_ref4.location,details=_ref4.details;var startDateTime=(0,_momentTimezone["default"])("".concat(startDate," ").concat(startTime),"YYYY/MM/DD HH:mm").format("YYYYMMDDTHHmmss");var endDateTime=(0,_momentTimezone["default"])("".concat(endDate," ").concat(endTime),"YYYY/MM/DD HH:mm").format("YYYYMMDDTHHmmss");var params=new URLSearchParams;if(title)params.append("text",title);if(startDateTime&&endDateTime)params.append("dates","".concat(startDateTime,"/").concat(endDateTime));if(details)params.append("details",details);if(location)params.append("location",location);params.append("ctz","Asia/Taipei");params.append("trp","true");return"https://calendar.google.com/calendar/r/eventedit?".concat(params.toString())});(0,_defineProperty2["default"])(this,"generateTimeTreeLink",function(_ref5){var title=_ref5.title,startDate=_ref5.startDate,startTime=_ref5.startTime,endDate=_ref5.endDate,endTime=_ref5.endTime,location=_ref5.location,memo=_ref5.memo;var params=new URLSearchParams;if(title)params.append("title",title);if(startDate)params.append("start_date",startDate.replace(/\//g,"-"));if(startTime)params.append("start_time",startTime);if(endDate)params.append("end_date",endDate.replace(/\//g,"-"));if(endTime)params.append("end_time",endTime);if(location)params.append("location",location);if(memo)params.append("memo",memo);return"https://timetreeapp.com/plans/new?".concat(params.toString())});(0,_defineProperty2["default"])(this,"generateIcsContent",function(_ref6){var title=_ref6.title,startDate=_ref6.startDate,startTime=_ref6.startTime,endDate=_ref6.endDate,endTime=_ref6.endTime,location=_ref6.location,details=_ref6.details;var startDateTime=_momentTimezone["default"].tz("".concat(startDate," ").concat(startTime),"YYYY/MM/DD HH:mm","Asia/Taipei").format("YYYYMMDDTHHmmss");var endDateTime=_momentTimezone["default"].tz("".concat(endDate," ").concat(endTime),"YYYY/MM/DD HH:mm","Asia/Taipei").format("YYYYMMDDTHHmmss");var stamp=(0,_momentTimezone["default"])().utc().format("YYYYMMDDTHHmmss")+"Z";var uid=Date.now().toString(36)+Math.random().toString(36).substring(2,5)+"@gemini-app.com";var escapeIcs=function escapeIcs(text){return text.replace(/\\/g,"\\\\").replace(/,/g,"\\,").replace(/;/g,"\\;").replace(/\n/g,"\\n")};var lines=["BEGIN:VCALENDAR","VERSION:2.0","PRODID:-//Gemini AI//NONSGML v1.0//EN","BEGIN:VEVENT","UID:".concat(uid),"DTSTAMP:".concat(stamp)];if(startDateTime)lines.push("DTSTART;TZID=Asia/Taipei:".concat(startDateTime));if(endDateTime)lines.push("DTEND;TZID=Asia/Taipei:".concat(endDateTime));if(title)lines.push("SUMMARY:".concat(escapeIcs(title)));if(location)lines.push("LOCATION:".concat(escapeIcs(location)));if(details)lines.push("DESCRIPTION:".concat(escapeIcs(details)));lines.push("END:VEVENT","END:VCALENDAR");return lines.join("\r\n")});(0,_defineProperty2["default"])(this,"generateAllCalendarLinks",function(event){var googleLink=_this.generateGoogleCalendarLink(event);var timeTreeEvent=_objectSpread(_objectSpread({},event),{},{memo:event.details});var timeTreeLink=_this.generateTimeTreeLink(timeTreeEvent);var icsContent=_this.generateIcsContent(event);var icsLink="data:text/calendar;charset=utf8,".concat(encodeURIComponent(icsContent));return{google:googleLink,timeTree:timeTreeLink,ics:icsLink}});(0,_defineProperty2["default"])(this,"getArrayOfMappingRef",function(current,reference){return _lodash["default"].map(current,function(currentObj){var referenceObj=_lodash["default"].find(reference,{value:currentObj.value});return referenceObj?_lodash["default"].merge({},currentObj,referenceObj):currentObj})});(0,_defineProperty2["default"])(this,"areAllValuesTheSameOnKeys",function(array){for(var _len4=arguments.length,keys=new Array(_len4>1?_len4-1:0),_key5=1;_key5<_len4;_key5++){keys[_key5-1]=arguments[_key5]}if(!array||array.length<=1||keys.length===0){return true}var _loop=function _loop(){var _array$;var keyName=_keys[_i];var firstValue=(_array$=array[0])===null||_array$===void 0?void 0:_array$[keyName];var isCurrentKeySame=_lodash["default"].every(array,function(item){return item[keyName]===firstValue});if(!isCurrentKeySame){return{v:false}}},_ret;for(var _i=0,_keys=keys;_i<_keys.length;_i++){_ret=_loop();if(_ret)return _ret.v}return true});this.init();this.env="dev"}return(0,_createClass2["default"])(Utiller,[{key:"removeAttributeBy",value:function removeAttributeBy(object){var predicate=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(value){return _lodash["default"].isUndefined(value)};for(var _key6 in object){if(predicate(object[_key6])){delete object[_key6]}}}},{key:"getNumberOfNormalize",value:function getNumberOfNormalize(value){var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;if(_lodash["default"].isNumber(value))return value;try{var force=_lodash["default"].toNumber(value);return _lodash["default"].isNumber(force)&&!isNaN(force)?force:defaultValue}catch(error){Util.appendError("448561684561 ".concat(error.message))}return defaultValue}},{key:"getBooleanOfNormalize",value:function getBooleanOfNormalize(value){var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(_lodash["default"].isBoolean(value))return value;if(_lodash["default"].isNumber(value)&&_lodash["default"].isEqual(value,1))return true;if(_lodash["default"].isNumber(value)&&_lodash["default"].isEqual(value,0))return true;try{var force=JSON.parse(_lodash["default"].toString(value).toLowerCase());return _lodash["default"].isBoolean(force)?force:defaultValue}catch(error){Util.appendError("448561684562 ".concat(error.message))}return defaultValue}},{key:"getStringOfNormalize",value:function getStringOfNormalize(value){var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"";var trim=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(_lodash["default"].isString(value))return trim?_lodash["default"].trim(value):value;try{var force=_lodash["default"].toString(value);return this.isOrEquals(force,"","undefined")?defaultValue:trim?_lodash["default"].trim(force):force}catch(error){Util.appendError("448616845453 ".concat(error.message))}return defaultValue}},{key:"isValidVersionOfString",value:function isValidVersionOfString(versionName){if(this.isUndefinedNullEmpty(versionName)){return false}var numbers=versionName.split(".");var _iterator=_createForOfIteratorHelper(numbers),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var number=_step.value;var toNum=_lodash["default"].toNumber(number);if(!_lodash["default"].isNumber(toNum)||isNaN(toNum))return false}}catch(err){_iterator.e(err)}finally{_iterator.f()}return true}},{key:"getSeparatorOfUnique",value:function getSeparatorOfUnique(){return"\u0F0D\u0F0D"}},{key:"getStringOfVersionIncrement",value:function getStringOfVersionIncrement(stringOfVersion){var delta=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var numbers=stringOfVersion.split(".").map(function(each){return _lodash["default"].toNumber(each)});var last=numbers.length-1;numbers[last]=numbers[last]+delta;return numbers.join(".")}},{key:"setLocaleOfMoment",value:function setLocaleOfMoment(){var locale=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"en";_momentTimezone["default"].locale(locale)}},{key:"getUuidOfV4",value:function getUuidOfV4(){return(0,_uuid.v4)()}},{key:"performActionWithoutTimingIssue",value:function performActionWithoutTimingIssue(){var task=arguments.length>0&&arguments[0]!==undefined?arguments[0]:function(){return true};var wait=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;this.syncDelay(wait).then(function(){return task()})}},{key:"executeTimeoutTask",value:function executeTimeoutTask(functionOfAsyncTask){var ms=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1000;var id=arguments.length>2&&arguments[2]!==undefined?arguments[2]:this.getRandomHash();var self=this;var idOfCurrentTimeoutTask=this.mapOfIdNTimeoutId[id];if(idOfCurrentTimeoutTask)clearTimeout(idOfCurrentTimeoutTask);for(var _len5=arguments.length,params=new Array(_len5>3?_len5-3:0),_key7=3;_key7<_len5;_key7++){params[_key7-3]=arguments[_key7]}var idOfTimeoutTask=setTimeout.apply(void 0,[(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(){return _regenerator["default"].wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return functionOfAsyncTask();case 2:delete self.mapOfIdNTimeoutId[id];case 3:case"end":return _context4.stop()}},_callee4)})),ms].concat(params));self.mapOfIdNTimeoutId[id]=idOfTimeoutTask}},{key:"printLogMessage",value:function printLogMessage(message){var error=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!this.isProductionEnvironment()){for(var _len6=arguments.length,infos=new Array(_len6>2?_len6-2:0),_key8=2;_key8<_len6;_key8++){infos[_key8-2]=arguments[_key8]}if(error){this.appendError.apply(this,[message].concat(infos))}else{this.appendInfo.apply(this,[message].concat(infos))}}}},{key:"init",value:function init(){}},{key:"setEnvironment",value:function setEnvironment(env){this.env=env}},{key:"appendInfo",value:function appendInfo(){var _console;if(this.isProductionEnvironment())return;(_console=console).log.apply(_console,arguments)}},{key:"appendError",value:function appendError(){var _console2;if(this.isProductionEnvironment())return;(_console2=console).error.apply(_console2,arguments)}},{key:"syncDelay",value:function(){var _syncDelay=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(){var delayInms,_args5=arguments;return _regenerator["default"].wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:delayInms=_args5.length>0&&_args5[0]!==undefined?_args5[0]:2000;return _context5.abrupt("return",new Promise(function(resolve){setTimeout(function(){resolve(delayInms)},delayInms)}));case 2:case"end":return _context5.stop()}},_callee5)}));function syncDelay(){return _syncDelay.apply(this,arguments)}return syncDelay}()},{key:"startWithRegex",value:function startWithRegex(){var string=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";var rule=arguments.length>1&&arguments[1]!==undefined?arguments[1]:".";var pattern=new RegExp("^".concat(rule),"i");return pattern.test(string)}},{key:"accumulate",value:function accumulate(target,conditions){var beginning=target;var _iterator2=_createForOfIteratorHelper(conditions),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var condition=_step2.value;if(condition!==undefined&&_lodash["default"].isFunction(condition)){beginning=condition(beginning)}}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}return beginning}},{key:"isOrEquals",value:function isOrEquals(target){for(var _len7=arguments.length,several=new Array(_len7>1?_len7-1:0),_key9=1;_key9<_len7;_key9++){several[_key9-1]=arguments[_key9]}for(var _i2=0,_several=several;_i2<_several.length;_i2++){var each=_several[_i2];if(_lodash["default"].isEqual(target,each))return true}return false}},{key:"isAndEquals",value:function isAndEquals(){for(var _len8=arguments.length,predicates=new Array(_len8),_key10=0;_key10<_len8;_key10++){predicates[_key10]=arguments[_key10]}for(var _i3=0,_predicates=predicates;_i3<_predicates.length;_i3++){var predicate=_predicates[_i3];if(!predicate()){return false}}return true}},{key:"getStringOfHeadMatch",value:function getStringOfHeadMatch(string,regex){var flag=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"g";var result=string.match(new RegExp(regex,flag));return this.isUndefinedNullEmpty(result)?undefined:result[0]}},{key:"or",value:function or(){for(var _len9=arguments.length,booleans=new Array(_len9),_key11=0;_key11<_len9;_key11++){booleans[_key11]=arguments[_key11]}for(var _i4=0,_booleans=booleans;_i4<_booleans.length;_i4++){var boo=_booleans[_i4];if(_lodash["default"].isBoolean(boo)&&boo)return true}return false}},{key:"and",value:function and(){for(var _len10=arguments.length,booleans=new Array(_len10),_key12=0;_key12<_len10;_key12++){booleans[_key12]=arguments[_key12]}for(var _i5=0,_booleans2=booleans;_i5<_booleans2.length;_i5++){var boo=_booleans2[_i5];if(!!!boo)return false}return true}},{key:"nth",value:function nth(array){var index=arguments.length>1&&arguments[1]!==undefined?arguments[1]:-1;return _lodash["default"].nth(array,index%_lodash["default"].size(array))}},{key:"getExistOne",value:function getExistOne(){for(var _len11=arguments.length,candidates=new Array(_len11),_key13=0;_key13<_len11;_key13++){candidates[_key13]=arguments[_key13]}for(var _i6=0,_candidates=candidates;_i6<_candidates.length;_i6++){var candidate=_candidates[_i6];if(candidate)return candidate}}},{key:"getStringOfDropHeadSign",value:function getStringOfDropHeadSign(string,sign){return _lodash["default"].dropWhile(Array.from(string),function(each){return _lodash["default"].isEqual(each,sign)}).join("")}},{key:"isAndWith",value:function isAndWith(self,predicate){for(var _len12=arguments.length,several=new Array(_len12>2?_len12-2:0),_key14=2;_key14<_len12;_key14++){several[_key14-2]=arguments[_key14]}for(var _i7=0,_several2=several;_i7<_several2.length;_i7++){var each=_several2[_i7];if(!predicate(self,each))return false}return true}},{key:"syncDelayRandom",value:function(){var _syncDelayRandom=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(){var min,max,random,_args6=arguments;return _regenerator["default"].wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:min=_args6.length>0&&_args6[0]!==undefined?_args6[0]:3000;max=_args6.length>1&&_args6[1]!==undefined?_args6[1]:5000;random=this.getRandomValue(min,max);_context6.next=5;return this.syncDelay(random);case 5:return _context6.abrupt("return",random);case 6:case"end":return _context6.stop()}},_callee6,this)}));function syncDelayRandom(){return _syncDelayRandom.apply(this,arguments)}return syncDelayRandom}()},{key:"has",value:function has(collection,item){var precisely=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(_lodash["default"].isArray(collection)){if(precisely)return _lodash["default"].findIndex(collection,function(each){return _lodash["default"].isEqual(item,each)})>-1;else return _lodash["default"].indexOf(collection,item)>-1}if(_lodash["default"].isObject(item)){return collection[item]}if(_lodash["default"].isString(collection)){return collection.indexOf(item)>-1}return false}},{key:"containsBy",value:function containsBy(array,item){return _lodash["default"].findIndex(array,function(each){return _lodash["default"].isEqual(each,item)})>=0}},{key:"getStringOfInsideParentheses",value:function getStringOfInsideParentheses(string){var rule=arguments.length>1&&arguments[1]!==undefined?arguments[1]:".";return this.getStringOfRule(string,rule,"(",")")}},{key:"getStringOfInsideBrackets",value:function getStringOfInsideBrackets(string){var rule=arguments.length>1&&arguments[1]!==undefined?arguments[1]:".";return this.getStringOfRule(string,rule,"[","]")}},{key:"getStringOfInsideBraces",value:function getStringOfInsideBraces(string){var rule=arguments.length>1&&arguments[1]!==undefined?arguments[1]:".";return this.getStringOfRule(string,rule,"{","}")}},{key:"getStringOfRule",value:function getStringOfRule(string){var rule=arguments.length>1&&arguments[1]!==undefined?arguments[1]:".";var left=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"{";var right=arguments.length>3&&arguments[3]!==undefined?arguments[3]:"}";return this.getStringOfHeadMatch(string,"(?<=\\".concat(left,")").concat(rule,"+?(?=\\").concat(right,")"))}},{key:"getRandomHash",value:function getRandomHash(){var length=arguments.length>0&&arguments[0]!==undefined?arguments[0]:20;var randomBytes=_cryptoJs["default"].lib.WordArray.random(length);var base64String=_cryptoJs["default"].enc.Base64.stringify(randomBytes);return base64String.substring(0,length)}},{key:"getRandomHashV2",value:function getRandomHashV2(length){var characters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";var result="";for(var i=0;i<length;i++){var randomIndex=Math.floor(Math.random()*characters.length);result+=characters.charAt(randomIndex)}return result}},{key:"getEncryptString",value:function getEncryptString(texts){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_configerer.configerer.ENCRYPT_KEY;var alwaysTheSame=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var maxLengthOfKey=22;if(key.length>maxLengthOfKey)throw new _exceptioner["default"](8010,_lodash["default"].size(key));var ivOfCrypto=_cryptoJs["default"].enc.Base64.parse("thisIsIVWeNeedToGenerateTheSameValue");var keyOfCrypto=alwaysTheSame?_cryptoJs["default"].enc.Base64.parse("".concat(key).concat(_lodash["default"].range(0,maxLengthOfKey-key.length).join(""))):key;return _cryptoJs["default"].AES.encrypt(texts,keyOfCrypto,{iv:ivOfCrypto}).toString()}},{key:"getEncryptStringV2",value:function getEncryptStringV2(texts){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_configerer.configerer.ENCRYPT_KEY;var alwaysTheSame=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var maxLengthOfKey=22;if(key.length>maxLengthOfKey)throw new _exceptioner["default"](8010,_lodash["default"].size(key));var ivOfCrypto=_cryptoJs["default"].enc.Base64.parse("thisIsIVWeNeedToGenerateTheSameValue");var keyOfCrypto=alwaysTheSame?_cryptoJs["default"].enc.Base64.parse("".concat(key).concat(_lodash["default"].range(0,maxLengthOfKey-key.length).join(""))):key;return _cryptoJs["default"].AES.encrypt(JSON.stringify({content:texts}),keyOfCrypto,{iv:ivOfCrypto}).toString()}},{key:"getDecryptString",value:function getDecryptString(ciphertext){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_configerer.configerer.ENCRYPT_KEY;var maxLengthOfKey=22;if(key.length>maxLengthOfKey)throw new _exceptioner["default"](8010,_lodash["default"].size(key));var ivOfCrypto=_cryptoJs["default"].enc.Base64.parse("thisIsIVWeNeedToGenerateTheSameValue");try{var value=_cryptoJs["default"].AES.decrypt(ciphertext,key,{iv:ivOfCrypto}).toString(_cryptoJs["default"].enc.Utf8);if(!_lodash["default"].isEmpty(value.trim()))return value}catch(e){}return _cryptoJs["default"].AES.decrypt(ciphertext,_cryptoJs["default"].enc.Base64.parse("".concat(key).concat(_lodash["default"].range(0,maxLengthOfKey-key.length).join(""))),{iv:ivOfCrypto}).toString(_cryptoJs["default"].enc.Utf8)}},{key:"getDecryptStringV2",value:function getDecryptStringV2(ciphertext){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_configerer.configerer.ENCRYPT_KEY;var maxLengthOfKey=22;if(key.length>maxLengthOfKey)throw new _exceptioner["default"](8010,_lodash["default"].size(key));var ivOfCrypto=_cryptoJs["default"].enc.Base64.parse("thisIsIVWeNeedToGenerateTheSameValue");try{var _stringOfObj=_cryptoJs["default"].AES.decrypt(ciphertext,key,{iv:ivOfCrypto}).toString(_cryptoJs["default"].enc.Utf8);if(!_lodash["default"].isEmpty(_stringOfObj.trim())){var _obj2=JSON.parse(_stringOfObj);return _obj2.content}}catch(e){}var stringOfObj=_cryptoJs["default"].AES.decrypt(ciphertext,_cryptoJs["default"].enc.Base64.parse("".concat(key).concat(_lodash["default"].range(0,maxLengthOfKey-key.length).join(""))),{iv:ivOfCrypto}).toString(_cryptoJs["default"].enc.Utf8);var obj=JSON.parse(stringOfObj);return obj.content}},{key:"getFirebaseFormattedString",value:function getFirebaseFormattedString(texts){return _lodash["default"].replace(texts,/[\.\#\$\[\]]/g,"-").trim()}},{key:"formalizeNamesToArray",value:function formalizeNamesToArray(singerString){var normalize=singerString;normalize=normalize.split(_configerer.configerer.SEPARATE_TONE_SINGER)[0].trim();normalize=_lodash["default"].replace(normalize,/[,\/#!$%\^&\*;:{}=_`、~()()]/g,"_").trim();normalize=this.getFirebaseFormattedString(normalize);normalize=_lodash["default"].replace(normalize,/\_\_+/g,"_").trim();while(_lodash["default"].endsWith(normalize,"_")){normalize=normalize.slice(0,-1).trim()}var words=normalize.split("_");return _lodash["default"].map(words,function(word){return _lodash["default"].trim(word)})}},{key:"getShuffledArrayWithLimitCountHighPerformance",value:function getShuffledArrayWithLimitCountHighPerformance(arr,n){var result=new Array(n),len=arr.length,taken=new Array(len);if(n>len)n=len;while(n--){var x=Math.floor(Math.random()*len);result[n]=arr[x in taken?taken[x]:x];taken[x]=--len in taken?taken[len]:len}return result}},{key:"getFileNameFromPath",value:function getFileNameFromPath(path){var extension=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var segments=path.split("/");var target=segments.pop();return extension?target:target.split(".").shift()}},{key:"getFileNameExtensionFromPath",value:function getFileNameExtensionFromPath(path){var name=path.split("/").pop();return name}},{key:"getPathOfReplaceLastDir",value:function getPathOfReplaceLastDir(path,name){var split=path.split("/");split.pop();split.push(name);return split.join("/")}},{key:"getExtensionFromPath",value:function getExtensionFromPath(path){var name=path.split("/").pop();var segments=name.split(".");return _lodash["default"].size(segments)>1?segments.pop():""}},{key:"getFolderPathOfSpecificPath",value:function getFolderPathOfSpecificPath(path){var split=path.split("/");split.pop();return split.join("/")}},{key:"getFolderNameOfFilePath",value:function getFolderNameOfFilePath(path){if(this.isValidFilePath(path)){var splits=path.split("/");return _lodash["default"].nth(splits,-2)}else{throw new _exceptioner["default"](9999,"64255615 path is not valid '".concat(path,"'"))}}},{key:"isUnderTargetPath",value:function isUnderTargetPath(absolute,target){var segments=absolute.split("/");return this.has(segments,target)}},{key:"getFileDirPath",value:function getFileDirPath(path){var slash=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;return _lodash["default"].join(_lodash["default"].initial(_lodash["default"].split(path,"/")),"/")+(slash?"/":"")}},{key:"isPathEqualsFileType",value:function isPathEqualsFileType(path,type){var extension=path.split(".").pop();return _lodash["default"].isEqual(extension,type)}},{key:"isValidFilePath",value:function isValidFilePath(path){var extension=this.getExtensionFromPath(path);return _lodash["default"].size(extension)>0}},{key:"getArrayOfSize",value:function getArrayOfSize(array){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;return _lodash["default"].take(array,n)}},{key:"getShuffledArrayWithLimitCount",value:function getShuffledArrayWithLimitCount(arr,n){return this.getShuffledArrayWithLimitCountHighPerformance(arr,n)}},{key:"getRandomItemOfArray",value:function getRandomItemOfArray(array){if(!_lodash["default"].isArray(array))throw new _exceptioner["default"](9999,"why are you so stupid, typeof array should be array, not ==> ".concat(array," "));for(var _len13=arguments.length,ignores=new Array(_len13>1?_len13-1:0),_key15=1;_key15<_len13;_key15++){ignores[_key15-1]=arguments[_key15]}var filter=_lodash["default"].without.apply(_lodash["default"],[array].concat(ignores));var target=_lodash["default"].size(filter)>0?filter:array;var item=this.getShuffledArrayWithLimitCount(target,1);return item.length>0?item[0]:undefined}},{key:"appendMapOfKeyArray",value:function appendMapOfKeyArray(object,key){for(var _len14=arguments.length,value=new Array(_len14>2?_len14-2:0),_key16=2;_key16<_len14;_key16++){value[_key16-2]=arguments[_key16]}if(this.isUndefinedNullEmpty(object[key])){object[key]=[].concat(value)}else{var _object$key;(_object$key=object[key]).push.apply(_object$key,value)}}},{key:"getMergedArrayBy",value:function getMergedArrayBy(){var major=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var sub=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var key=arguments.length>2?arguments[2]:undefined;if(!key||major.length===0||sub.length===0){return(0,_toConsumableArray2["default"])(major)}var subMap=new Map(sub.map(function(item){return[item[key],item]}));return major.map(function(majorItem){var subItem=subMap.get(majorItem[key]);return _objectSpread(_objectSpread({},subItem||{}),majorItem)})}},{key:"getShuffledItemFromArray",value:function getShuffledItemFromArray(arr){var shuffled=_lodash["default"].shuffle(arr);return shuffled[0]}},{key:"getShuffledArray",value:function getShuffledArray(arr){var shuffled=_lodash["default"].shuffle(arr);return shuffled}},{key:"isJson",value:function isJson(item){item=typeof item!=="string"?JSON.stringify(item):item;try{item=JSON.parse(item)}catch(e){return false}if((0,_typeof2["default"])(item)==="object"&&item!==null){return true}return false}},{key:"getObjectValue",value:function getObjectValue(obj){if(_lodash["default"].isObject(obj)){return Object.values(obj)[0]}return""}},{key:"getObject",value:function getObject(key,value){var object={};object[key]=value;return object}},{key:"getStringOfCreditCardFormatted",value:function getStringOfCreditCardFormatted(){var string=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var inputValue=string.replace(/\D/g,"");var result=inputValue.replace(/(\d{4})(?=\d)/g,"$1-");return result.slice(0,19)}},{key:"getObjectKey",value:function getObjectKey(obj){if(_lodash["default"].isObject(obj)){return Object.keys(obj)[0]}return""}},{key:"printf",value:function printf(){this.appendInfo("i can use in web || react.js")}},{key:"isKeywordRule",value:function isKeywordRule(constraint){if(_lodash["default"].isUndefined(constraint)||_lodash["default"].isEmpty(constraint))throw new Error("PARAMS CAN NOT BE EMPTY");if(!_lodash["default"].isString(constraint))throw new Error("PARAMS SHOULD BE STRING");if(constraint.length>20)throw new Error("EXCEED 20 WORDS IS NOT ALLOWED")}},{key:"getItsKeyByValue",value:function getItsKeyByValue(object,value){return Object.keys(object).find(function(key){return object[key]===value})}},{key:"startWiths",value:function startWiths(string){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var _iterator3=_createForOfIteratorHelper(key),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _key=_step3.value;if(_lodash["default"].startsWith(string,_key)){return true}}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}return false}},{key:"replaceAll",value:function replaceAll(string,patten,to){return _lodash["default"].replace(string,new RegExp("".concat(patten),"g"),to)}},{key:"replaceAllWithSets",value:function replaceAllWithSets(){var string=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";var after=string;for(var _len15=arguments.length,patterns=new Array(_len15>1?_len15-1:0),_key17=1;_key17<_len15;_key17++){patterns[_key17-1]=arguments[_key17]}for(var _i8=0,_patterns=patterns;_i8<_patterns.length;_i8++){var pattern=_patterns[_i8];if(this.isOrEquals(undefined,pattern.from,pattern.to)){throw(0,_exceptioner["default"])(9999,"from or to can't be empty")}after=this.replaceAll(after,pattern.from,pattern.to)}return after}},{key:"replaceArrayByContentIndex",value:function replaceArrayByContentIndex(array,current,latest){var index=_lodash["default"].indexOf(array,current);array[index]=latest}},{key:"deepFlat",value:function deepFlat(collection){var sign=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"_";var result="";var stack=[[collection,""]];while(stack.length>0){var _stack$pop=stack.pop(),_stack$pop2=(0,_slicedToArray2["default"])(_stack$pop,2),current=_stack$pop2[0],prefix=_stack$pop2[1];if(_lodash["default"].isArray(current)){for(var i=current.length-1;i>=0;i--){stack.push([current[i],prefix])}}else if(_lodash["default"].isObject(current)){var keys=Object.keys(current);for(var _i9=keys.length-1;_i9>=0;_i9--){var _key18=keys[_i9];stack.push([current[_key18],prefix+_key18+sign])}}else{var valueString=_lodash["default"].trim(String(current));if(valueString.length>0){result+=(result.length>0?sign:"")+prefix+valueString}else if(prefix.length>0&&result.length>0){result+=sign}else if(prefix.length>0&&result.length===0){result+=prefix.endsWith(sign)?prefix.slice(0,-sign.length):prefix}}}if(result.endsWith(sign)){result=result.slice(0,-sign.length)}return result}},{key:"joinEscapeChar",value:function joinEscapeChar(str){return(str+"").replace(/[\\"']/g,"\\$&").replace(/\u0000/g,"\\0")}},{key:"getValueWithIntegerType",value:function getValueWithIntegerType(whatever){try{var value=parseInt(whatever);return isNaN(value)?0:value}catch(error){return 0}}},{key:"getValueOfPriority",value:function getValueOfPriority(){for(var _len16=arguments.length,compares=new Array(_len16),_key19=0;_key19<_len16;_key19++){compares[_key19]=arguments[_key19]}for(var _i10=0,_compares=compares;_i10<_compares.length;_i10++){var compare=_compares[_i10];if(!this.isUndefinedNullEmpty(compare))return compare}return undefined}},{key:"asyncPool",value:function(){var _asyncPool=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(poolLimit,array,iteratorFn){var ret,executing,_iterator4,_step4,_loop2;return _regenerator["default"].wrap(function _callee7$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:ret=[];executing=[];_iterator4=_createForOfIteratorHelper(array);_context8.prev=3;_loop2=_regenerator["default"].mark(function _loop2(){var item,p,e;return _regenerator["default"].wrap(function _loop2$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:item=_step4.value;p=Promise.resolve().then(function(){return iteratorFn(item,array)});ret.push(p);if(!(poolLimit<=array.length)){_context7.next=9;break}e=p.then(function(){return executing.splice(executing.indexOf(e),1)});executing.push(e);if(!(executing.length>=poolLimit)){_context7.next=9;break}_context7.next=9;return Promise.race(executing);case 9:case"end":return _context7.stop()}},_loop2)});_iterator4.s();case 6:if((_step4=_iterator4.n()).done){_context8.next=10;break}return _context8.delegateYield(_loop2(),"t0",8);case 8:_context8.next=6;break;case 10:_context8.next=15;break;case 12:_context8.prev=12;_context8.t1=_context8["catch"](3);_iterator4.e(_context8.t1);case 15:_context8.prev=15;_iterator4.f();return _context8.finish(15);case 18:return _context8.abrupt("return",Promise.all(ret));case 19:case"end":return _context8.stop()}},_callee7,null,[[3,12,15,18]])}));function asyncPool(_x2,_x3,_x4){return _asyncPool.apply(this,arguments)}return asyncPool}()},{key:"getAttrValueInSequence",value:function getAttrValueInSequence(info){for(var _len17=arguments.length,attrs=new Array(_len17>1?_len17-1:0),_key20=1;_key20<_len17;_key20++){attrs[_key20-1]=arguments[_key20]}for(var _i11=0,_attrs=attrs;_i11<_attrs.length;_i11++){var attr=_attrs[_i11];if(!_lodash["default"].isEmpty(info[attr])){return info[attr]}}return info}},{key:"toDBC",value:function toDBC(txtstring){var tmp="";for(var i=0;i<txtstring.length;i++){if(txtstring.charCodeAt(i)===32){tmp=tmp+String.fromCharCode(12288)}if(txtstring.charCodeAt(i)<127){tmp=tmp+String.fromCharCode(txtstring.charCodeAt(i)+65248)}}return tmp}},{key:"toCDB",value:function toCDB(str){var tmp="";for(var i=0;i<str.length;i++){if(str.charCodeAt(i)===12288){tmp+=String.fromCharCode(str.charCodeAt(i)-12256);continue}if(str.charCodeAt(i)>65280&&str.charCodeAt(i)<65375){tmp+=String.fromCharCode(str.charCodeAt(i)-65248)}else{tmp+=String.fromCharCode(str.charCodeAt(i))}}return tmp}},{key:"findIndexes",value:function findIndexes(array,predicate){var indexes=[];var hasIndex=true;var indexOfLatest=0;while(hasIndex){indexOfLatest=_lodash["default"].findIndex(array,predicate,indexOfLatest+1);if(indexOfLatest>-1){indexes.push(indexOfLatest)}else{hasIndex=false}}return indexes}},{key:"getSliceArrayOfSpecificIndexes",value:function getSliceArrayOfSpecificIndexes(array){var items=[];var size=_lodash["default"].size(array);for(var _len18=arguments.length,indexes=new Array(_len18>1?_len18-1:0),_key21=1;_key21<_len18;_key21++){indexes[_key21-1]=arguments[_key21]}for(var _i12=0,_indexes=indexes;_i12<_indexes.length;_i12++){var index=_indexes[_i12];if(!_lodash["default"].isNumber(index))throw new _exceptioner["default"](9999,"59941278 index should be number => ".concat(index,", ").concat(array));if(index>size-1)throw new _exceptioner["default"](9999,"5994123 index=>".concat(index," is not valid, exceed than array size=").concat(size,", ").concat(array));items.push(_lodash["default"].nth(array,index))}return items}},{key:"indexesOf",value:function indexesOf(arr,val){var indexes=[];var i=-1;while((i=arr.indexOf(val,i+1))!==-1){indexes.push(i)}return indexes}},{key:"getIndexOfContext",value:function getIndexOfContext(context,stmt){return _lodash["default"].findIndex(context,function(per){return _lodash["default"].isEqual(per.trim(),stmt)})}},{key:"toOneLineString",value:function toOneLineString(string){return _lodash["default"].join(_lodash["default"].split(string,"\n"),"")}},{key:"toSpaceLessString",value:function toSpaceLessString(string){return _lodash["default"].split(string,"").map(function(each){return _lodash["default"].trim(each)}).join("")}},{key:"toNewLineLessString",value:function toNewLineLessString(string){return _lodash["default"].split(string,"\n").map(function(each){return _lodash["default"].trim(each)}).join("")}},{key:"exist",value:function exist(obj){return!_lodash["default"].isNull(obj)&&!_lodash["default"].isUndefined(obj)}},{key:"isUndefinedNullEmpty",value:function isUndefinedNullEmpty(obj){var first=obj===undefined||obj===null;var second=_lodash["default"].isString(obj)||_lodash["default"].isArray(obj)||_lodash["default"].isObject(obj)?_lodash["default"].isEmpty(obj):false;return first||second}},{key:"isAndConditionOfUndefinedNullEmpty",value:function isAndConditionOfUndefinedNullEmpty(){for(var _len19=arguments.length,objs=new Array(_len19),_key22=0;_key22<_len19;_key22++){objs[_key22]=arguments[_key22]}for(var _i13=0,_objs=objs;_i13<_objs.length;_i13++){var obj=_objs[_i13];if(!this.isUndefinedNullEmpty(obj))return false}return true}},{key:"isOrConditionOfUndefinedNullEmpty",value:function isOrConditionOfUndefinedNullEmpty(){for(var _len20=arguments.length,objs=new Array(_len20),_key23=0;_key23<_len20;_key23++){objs[_key23]=arguments[_key23]}for(var _i14=0,_objs2=objs;_i14<_objs2.length;_i14++){var obj=_objs2[_i14];if(this.isUndefinedNullEmpty(obj))return true}return false}},{key:"getStringHandledByEachLine",value:function getStringHandledByEachLine(string){var predict=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(segment,index,segments){return true};var separator=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"\n";var segments=string.split(separator);var _iterator5=_createForOfIteratorHelper(segments),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var segment=_step5.value;predict(segment,_lodash["default"].indexOf(segments,segment),segments)}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}return segments.join(separator)}},{key:"getSegmentsOfEachLine",value:function getSegmentsOfEachLine(string){return string.split("\n")}},{key:"getNormalizedStringEndWith",value:function getNormalizedStringEndWith(string,predicate){string=this.toCDB(string);predicate=this.toCDB(predicate);var after=_lodash["default"].join(_lodash["default"].dropRightWhile(string,function(each){return!_lodash["default"].isEqual(each,predicate)}),"");return _lodash["default"].isEmpty(after)?string:after}},{key:"getNormalizedStringNotStartWith",value:function getNormalizedStringNotStartWith(string){var _this2=this;for(var _len21=arguments.length,predicate=new Array(_len21>1?_len21-1:0),_key24=1;_key24<_len21;_key24++){predicate[_key24-1]=arguments[_key24]}string=this.toCDB(string);var after=_lodash["default"].join(_lodash["default"].dropWhile(string,function(each){return _this2.has(predicate,each)}),"");return _lodash["default"].isEmpty(after)?string:after}},{key:"getNormalizedStringNotEndWith",value:function getNormalizedStringNotEndWith(string){var _this3=this;for(var _len22=arguments.length,predicate=new Array(_len22>1?_len22-1:0),_key25=1;_key25<_len22;_key25++){predicate[_key25-1]=arguments[_key25]}string=this.toCDB(string);var after=_lodash["default"].join(_lodash["default"].dropRightWhile(string,function(each){return _this3.has(predicate,each)}),"");return _lodash["default"].isEmpty(after)?string:after}},{key:"getTodayTimeFormat",value:function getTodayTimeFormat(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YYYY-MM-DD")}},{key:"getCustomFormatOfDatePresent",value:function getCustomFormatOfDatePresent(ts){var format=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"YY/MM";return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format(format)}},{key:"getSimpleDateYYMMDDFormat",value:function getSimpleDateYYMMDDFormat(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YY/MM/DD")}},{key:"getSimpleTimeYYMMDDHHmmFormat",value:function getSimpleTimeYYMMDDHHmmFormat(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YY/MM/DD HH:mm")}},{key:"getECPayCurrentTimeFormat",value:function getECPayCurrentTimeFormat(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YYYY/MM/DD HH:mm:ss")}},{key:"getCurrentTimeFormatV2",value:function getCurrentTimeFormatV2(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YYYY/MM/DD HH:mm:ss")}},{key:"getCurrentTimeFormatYMDHM",value:function getCurrentTimeFormatYMDHM(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YYYY/MM/DD HH:mm")}},{key:"getCurrentTimeFormatYMDHMS",value:function getCurrentTimeFormatYMDHMS(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YYYY/MM/DD HH:mm:ss")}},{key:"getCurrentTimeFormat",value:function getCurrentTimeFormat(ts){return(0,_momentTimezone["default"])(ts?ts:this.getCurrentTimeStamp()).format("YYYY-MM-DD-HH-mm-ss")}},{key:"getCurrentMillionSecTimeFormat",value:function getCurrentMillionSecTimeFormat(ts){return(0,_momentTimezone["default"])(ts?ts:undefined).format("YYYY-MM-DD-HH-mm-ss-SSS")}},{key:"isBetweenTimeStamp",value:function isBetweenTimeStamp(){var target=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.getCurrentTimeStamp();var min=arguments.length>1?arguments[1]:undefined;var max=arguments.length>2?arguments[2]:undefined;return(0,_momentTimezone["default"])(target).isBetween(min,max)}},{key:"isBeforeTimeStamp",value:function isBeforeTimeStamp(){var target=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.getCurrentTimeStamp();var time=arguments.length>1?arguments[1]:undefined;return(0,_momentTimezone["default"])(target).isBefore(time)}},{key:"isAfterTimeStamp",value:function isAfterTimeStamp(){var target=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.getCurrentTimeStamp();var time=arguments.length>1?arguments[1]:undefined;return(0,_momentTimezone["default"])(target).isAfter(time)}},{key:"formatTimeByLocale",value:function formatTimeByLocale(ts){var location=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"zh-TW";var timezone=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"Asia/Taipei";var use24Hour=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;_momentTimezone["default"].locale(location);var m=(0,_momentTimezone["default"])(ts).tz(timezone);var formatStr=use24Hour?"YYYY/MM/DD HH:mm":"YYYY/MM/DD hh:mm A";return m.format(formatStr)}},{key:"getTimeStampWithConditions",value:function getTimeStampWithConditions(){var param=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{days:0,months:0,years:0,minutes:0,seconds:0,hours:0};var target=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.getCurrentTimeStamp();var base=(0,_momentTimezone["default"])(target);for(var each in param){var number=param[each];var unit=each;if(number>0){base=base.add(number,unit)}if(number<0){base=base.subtract(Math.abs(number),unit)}}return base.valueOf()}},{key:"getTimeStampByStringFormat",value:function getTimeStampByStringFormat(string){return this.getTimeStampFromSpecificFormat(string,"YYYY/MM/DD HH:mm:ss").valueOf()}},{key:"getTimeStampFromSpecificFormat",value:function getTimeStampFromSpecificFormat(string){var format=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"YYYY/MM/DD HH:mm:ss";return(0,_momentTimezone["default"])(string,format).valueOf()}},{key:"getTimeStampFromECPayStringFormat",value:function getTimeStampFromECPayStringFormat(string){return this.getTimeStampFromSpecificFormat(string,"YYYY/MM/DD HH:mm:ss").valueOf()}},{key:"getTimeFormatOfDurationToMillionSecond",value:function getTimeFormatOfDurationToMillionSecond(duration){return _momentTimezone["default"].utc(duration).format("HH\u5C0F\u6642mm\u5206\u9418ss\u79D2SSS")}},{key:"getTimeFormatOfDurationToSecond",value:function getTimeFormatOfDurationToSecond(duration){return _momentTimezone["default"].utc(duration).format("HH\u5C0F\u6642mm\u5206\u9418ss\u79D2")}},{key:"getTimeFormatOfDurationToDay",value:function getTimeFormatOfDurationToDay(duration){return _momentTimezone["default"].utc(duration).format("DD\u5929HH\u5C0F\u6642mm\u5206\u9418ss\u79D2")}},{key:"getChineseTimeFormat",value:function getChineseTimeFormat(ts){_momentTimezone["default"].locale("zh-TW");return(0,_momentTimezone["default"])(ts).format("LLLL")}},{key:"getMinuteFormatOfDuration",value:function getMinuteFormatOfDuration(ds){return _momentTimezone["default"].duration(ds).asMinutes()}},{key:"getSecondFormatOfDuration",value:function getSecondFormatOfDuration(ds){return _momentTimezone["default"].duration(ds).asSeconds()}},{key:"getDayFormatOfDuration",value:function getDayFormatOfDuration(ds){return _momentTimezone["default"].duration(ds).asDays()}},{key:"getDurationOfMillionSec",value:function getDurationOfMillionSec(dateOrTimeStamp){var currentTimestamp=this.getCurrentTimeStamp();var targetTimeStamp=(0,_momentTimezone["default"])(dateOrTimeStamp).valueOf();var queue=_lodash["default"].sortBy([{ts:currentTimestamp},{ts:targetTimeStamp}],function(each){return each.ts}).map(function(each){return each.ts});var after=(0,_momentTimezone["default"])(queue.pop());var before=(0,_momentTimezone["default"])(queue.shift());var duration=_momentTimezone["default"].duration(after.diff(before));var ms=duration.asMilliseconds();return ms}},{key:"getCurrentTimeStamp",value:function getCurrentTimeStamp(){return(0,_momentTimezone["default"])().valueOf()}},{key:"isStringContainInLines",value:function isStringContainInLines(context,key){var _iterator6=_createForOfIteratorHelper(_lodash["default"].split(context,"\n")),_step6;try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var each=_step6.value;if(this.has(each,key))return true}}catch(err){_iterator6.e(err)}finally{_iterator6.f()}return false}},{key:"camel",value:function camel(){for(var _len23=arguments.length,words=new Array(_len23),_key26=0;_key26<_len23;_key26++){words[_key26]=arguments[_key26]}return _lodash["default"].camelCase(words.join("_"))}},{key:"upperCamel",value:function upperCamel(){return _lodash["default"].upperFirst(this.camel.apply(this,arguments))}},{key:"array2Obj",value:function array2Obj(array){var obj={};var _iterator7=_createForOfIteratorHelper(array),_step7;try{for(_iterator7.s();!(_step7=_iterator7.n()).done;){var each=_step7.value;obj["".concat(this.getObjectKey(each))]=this.getObjectValue(each)}}catch(err){_iterator7.e(err)}finally{_iterator7.f()}return obj}},{key:"arrayToObjWith",value:function arrayToObjWith(array,predicate){var obj={};var _iterator8=_createForOfIteratorHelper(array),_step8;try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var item=_step8.value;var _key27=predicate(item);var content=obj[_key27];if(content&&_lodash["default"].isArray(content)){content.push(item)}else{obj[_key27]=[item]}}}catch(err){_iterator8.e(err)}finally{_iterator8.f()}return obj}},{key:"isEmptyString",value:function isEmptyString(string){return _lodash["default"].isEqual(_lodash["default"].trim(string),"")}},{key:"mergeObject",value:function mergeObject(){return _lodash["default"].merge.apply(_lodash["default"],arguments)}},{key:"syncSetTimeout",value:function syncSetTimeout(func,ms){var callback=arguments.length>2&&arguments[2]!==undefined?arguments[2]:function(){};(function sync(done){if(!done){setTimeout(function(){func();sync(true)},ms);return}callback()})()}},{key:"mergeArrayBy",value:function mergeArrayBy(){var identifier=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"id";for(var _len24=arguments.length,array=new Array(_len24>1?_len24-1:0),_key28=1;_key28<_len24;_key28++){array[_key28-1]=arguments[_key28]}return Object.values(array.flat().reduce(function(acc,item){if(item[identifier])acc[item[identifier]]=_objectSpread(_objectSpread({},acc[item[identifier]]||{}),item);return acc},{}))}},{key:"getRelativePath",value:function getRelativePath(pathName,rootName){return _lodash["default"].dropWhile(pathName,function(each,index){return _lodash["default"].isEqual(each,rootName[index])}).join("")}},{key:"dropItemsByIndex",value:function dropItemsByIndex(array,from,end){_lodash["default"].remove(array,function(value,index,array){return end>=index&&index>=from})}},{key:"isEven",value:function isEven(n){return n%2===0}},{key:"isOdd",value:function isOdd(n){return Math.abs(n%2)===1}},{key:"enrichZhTw",value:function enrichZhTw(){_momentTimezone["default"].locale("zh-tw",{months:"\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"),weekdaysShort:"\u5468\u65E5_\u5468\u4E00_\u5468\u4E8C_\u5468\u4E09_\u5468\u56DB_\u5468\u4E94_\u5468\u516D".split("_"),weekdaysMin:"\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"),longDateFormat:{LT:"Ah\u9EDEmm\u5206",LTS:"Ah\u9EDEm\u5206s\u79D2",L:"YYYY-MM-DD",LL:"YYYY\u5E74MMMD\u65E5",LLL:"YYYY\u5E74MMMD\u65E5Ah\u9EDEmm\u5206",LLLL:"YYYY\u5E74MMMD\u65E5ddddAh\u9EDEmm\u5206",l:"YYYY-MM-DD",ll:"YYYY\u5E74MMMD\u65E5",lll:"YYYY\u5E74MMMD\u65E5Ah\u9EDEmm\u5206",llll:"YYYY\u5E74MMMD\u65E5ddddAh\u9EDEmm\u5206"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function meridiemHour(h,meridiem){var hour=h;if(hour===12){hour=0}if(meridiem==="\u51CC\u6668"||meridiem==="\u65E9\u4E0A"||meridiem==="\u4E0A\u5348"){return hour}else if(meridiem==="\u4E0B\u5348"||meridiem==="\u665A\u4E0A"){return hour+12}else{return hour>=11?hour:hour+12}},meridiem:function meridiem(hour,minute,isLower){var hm=hour*100+minute;if(hm<600){return"\u51CC\u6668"}else if(hm<900){return"\u65E9\u4E0A"}else if(hm<1130){return"\u4E0A\u5348"}else if(hm<1230){return"\u4E2D\u5348"}else if(hm<1800){return"\u4E0B\u5348"}else{return"\u665A\u4E0A"}},calendar:{sameDay:function sameDay(){return this.minutes()===0?"[\u4ECA\u5929]Ah[\u9EDE\u6574]":"[\u4ECA\u5929]LT"},nextDay:function nextDay(){return this.minutes()===0?"[\u660E\u5929]Ah[\u9EDE\u6574]":"[\u660E\u5929]LT"},lastDay:function lastDay(){return this.minutes()===0?"[\u6628\u5929]Ah[\u9EDE\u6574]":"[\u6628\u5929]LT"},nextWeek:function nextWeek(){var startOfWeek,prefix;startOfWeek=(0,_momentTimezone["default"])().startOf("week");prefix=this.diff(startOfWeek,"days")>=7?"[\u4E0B]":"[\u672C]";return this.minutes()===0?prefix+"dddA\u9EDE\u6574":prefix+"dddAh\u9EDEmm"},lastWeek:function lastWeek(){var startOfWeek,prefix;startOfWeek=(0,_momentTimezone["default"])().startOf("week");prefix=this.unix()<startOfWeek.unix()?"[\u4E0A]":"[\u672C]";return this.minutes()===0?prefix+"dddAh\u9EDE\u6574":prefix+"dddAh\u9EDEmm"},sameElse:"LL"},ordinalParse:/\d{1,2}(日|月|周)/,ordinal:function ordinal(number,period){switch(period){case"d":case"D":case"DDD":return number+"\u65E5";case"M":return number+"\u6708";case"w":case"W":return number+"\u5468";default:return number}},relativeTime:{future:"%s\u5185",past:"%s\u524D",s:"\u5E7E\u79D2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5C0F\u6642",hh:"%d \u5C0F\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500B\u6708",MM:"%d \u4E2A\u6708",y:"1 \u5E74",yy:"%d \u5E74"},week:{dow:1,doy:4}})}},{key:"getVisibleOrHidden",value:function getVisibleOrHidden(judgement){return{visibility:judgement?"visible":"hidden"}}},{key:"getNumberOfPercentageToFloat",value:function getNumberOfPercentageToFloat(percentage){var cleanedPercentage=percentage.replace("%","");var floatNumber=parseFloat(cleanedPercentage)/100;return floatNumber}},{key:"getVisibleOrNone",value:function getVisibleOrNone(judgement){var flex=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return{display:judgement?flex?"flex":"inherit":"none"}}},{key:"stringToInteger",value:function stringToInteger(string){string=_lodash["default"].toUpper(string);switch(string){case"A":return 0;case"B":return 1;case"C":return 2;case"D":return 3;case"E":return 4;case"F":return 5;case"G":return 6;case"H":return 7;case"I":return 8;case"J":return 9;case"K":return 10;case"L":return 11;case"M":return 12;case"N":return 13;default:return 101}}},{key:"integerToString",value:function integerToString(integer){switch(integer){case 0:return"A";case 1:return"B";case 2:return"C";case 3:return"D";case 4:return"E";case 5:return"F";case 6:return"G";case 7:return"H";case 8:return"I";case 9:return"J";case 10:return"K";case 11:return"L";case 12:return"M";case 13:return"N";default:return"Z"}}},{key:"toObjectMap",value:function toObjectMap(array){var newbies=[];for(var _len25=arguments.length,rules=new Array(_len25>1?_len25-1:0),_key29=1;_key29<_len25;_key29++){rules[_key29-1]=arguments[_key29]}var _iterator9=_createForOfIteratorHelper(array),_step9;try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){var each=_step9.value;var object={};var _iterator10=_createForOfIteratorHelper(rules),_step10;try{for(_iterator10.s();!(_step10=_iterator10.n()).done;){var rule=_step10.value;var func=rule.func?rule.func:function(stmt){return stmt};object[rule.to]=this.isUndefinedNullEmpty(rule.from)||!_lodash["default"].isObject(each)?func(each):func(each[rule.from])}}catch(err){_iterator10.e(err)}finally{_iterator10.f()}newbies.push(object)}}catch(err){_iterator9.e(err)}finally{_iterator9.f()}return newbies}},{key:"exeAll",value:function exeAll(collection){for(var _len26=arguments.length,funcs=new Array(_len26>1?_len26-1:0),_key30=1;_key30<_len26;_key30++){funcs[_key30-1]=arguments[_key30]}if(_lodash["default"].isArray(collection)){var _iterator11=_createForOfIteratorHelper(collection),_step11;try{for(_iterator11.s();!(_step11=_iterator11.n()).done;){var each=_step11.value;var _iterator12=_createForOfIteratorHelper(funcs),_step12;try{for(_iterator12.s();!(_step12=_iterator12.n()).done;){var func=_step12.value;func(each)}}catch(err){_iterator12.e(err)}finally{_iterator12.f()}}}catch(err){_iterator11.e(err)}finally{_iterator11.f()}}else if(_lodash["default"].isObject(collection)){for(var _each in collection){var _iterator13=_createForOfIteratorHelper(funcs),_step13;try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){var _func=_step13.value;collection[_each]=_func(collection[_each])}}catch(err){_iterator13.e(err)}finally{_iterator13.f()}}}else{throw new _exceptioner["default"](9999,"7841212 type can't be array or object")}return collection}},{key:"getObjectWhile",value:function getObjectWhile(major,minor){var predicate=arguments.length>2&&arguments[2]!==undefined?arguments[2]:function(target){return true};var collection={};for(var _key31 in major){if(predicate(major,minor,_key31)){collection[_key31]=major[_key31]}}return collection}},{key:"getIntersectionObject",value:function getIntersectionObject(objOfMajor,objOfMinor){return this.getObjectWhile(objOfMajor,objOfMinor,function(major,minor,key){return minor[key]!==undefined})}},{key:"getDifferenceObject",value:function getDifferenceObject(objOfMajor,objOfMinor){return this.getObjectWhile(objOfMajor,objOfMinor,function(major,minor,key){return minor[key]===undefined})}},{key:"isObjectContainAndEqual",value:function isObjectContainAndEqual(targetObject,mainObject){var equal=true;for(var _key32 in targetObject){if(mainObject[_key32]===undefined||mainObject[_key32]!==targetObject[_key32]){equal=false;break}}return equal}},{key:"getStringOfPop",value:function getStringOfPop(string,separator){if(!_lodash["default"].isString(string)){throw new _exceptioner["default"](9999,"445115,type should be string but ==> ".concat((0,_typeof2["default"])(string)))}var segments=string.split(separator);segments.pop();return segments.join(separator)}},{key:"getStringOfShift",value:function getStringOfShift(string,separator){if(!_lodash["default"].isString(string)){throw new _exceptioner["default"](9999,"445116,type should be string but ==> ".concat((0,_typeof2["default"])(string)))}var segments=string.split(separator);segments.shift();return segments.join(separator)}},{key:"toObjectWithAttributeKey",value:function toObjectWithAttributeKey(array,attrKeyOfPK){var object={};var _iterator14=_createForOfIteratorHelper(array),_step14;try{for(_iterator14.s();!(_step14=_iterator14.n()).done;){var each=_step14.value;var pk=each[attrKeyOfPK];if(this.isUndefinedNullEmpty(pk)){throw new _exceptioner["default"](9999,"48157232 pk can't be empty => '".concat(pk,"'"))}object[pk]=each}}catch(err){_iterator14.e(err)}finally{_iterator14.f()}return object}},{key:"getObjectOfArraySpecifyAttr",value:function getObjectOfArraySpecifyAttr(array,attr){return this.toObjectWithAttributeKey(array,attr)}},{key:"getStateOfStringContainsSign",value:function getStateOfStringContainsSign(string){for(var _len27=arguments.length,signs=new Array(_len27>1?_len27-1:0),_key33=1;_key33<_len27;_key33++){signs[_key33-1]=arguments[_key33]}for(var _i15=0,_signs=signs;_i15<_signs.length;_i15++){var sign=_signs[_i15];if(this.has(string,sign)){return{exists:true,sign:sign}}}return{exists:false}}},{key:"constraintOfParam",value:function constraintOfParam(collection,type){var result=false;for(var _len28=arguments.length,others=new Array(_len28>2?_len28-2:0),_key34=2;_key34<_len28;_key34++){others[_key34-2]=arguments[_key34]}var validOfOthersCondition=_lodash["default"].isEmpty(others)?true:this.and.apply(this,(0,_toConsumableArray2["default"])(others.map(function(each){return each.logic})));switch(type){case"array":if(_lodash["default"].isArray(collection)&&validOfOthersCondition)result=true;break;case"object":if(_lodash["default"].isObject(collection)&&validOfOthersCondition)result=true;break;case"string":if(_lodash["default"].isString(collection)&&validOfOthersCondition)result=true;break;case"number":if(_lodash["default"].isNumber(collection)&&validOfOthersCondition)result=true;break;case"other":if(validOfOthersCondition)return true}var stringOfRules=_lodash["default"].isEmpty(others)?"":", ".concat(others.map(function(each){return each.message}).join(" | "));if(result===false){throw new _exceptioner["default"](9999,"7474423 type should be ".concat(type," but get '").concat((0,_typeof2["default"])(type),"' ").concat(stringOfRules," "))}}},{key:"getSliceArrayWithMutate",value:function getSliceArrayWithMutate(array,n){var slice=_lodash["default"].remove(array,function(each,index){return index<n});return slice}},{key:"getArrayOfInteraction",value:function getArrayOfInteraction(one,two){return one.filter(function(element){return!two.includes(element)})}},{key:"getArrayOfMoveToSpecificIndex",value:function getArrayOfMoveToSpecificIndex(array,from,to){if(!Array.isArray(array)){throw new Error("First argument must be an array.")}var length=array.length;if(from<0||from>=length||to<0||to>=length){console.warn("Invalid 'from' or 'to' index for getArrayOfMoveToSpecificIndexOptimized.");return(0,_toConsumableArray2["default"])(array)}if(from===to){return(0,_toConsumableArray2["default"])(array)}var copy=(0,_toConsumableArray2["default"])(array);var _copy$splice=copy.splice(from,1),_copy$splice2=(0,_slicedToArray2["default"])(_copy$splice,1),item=_copy$splice2[0];copy.splice(to,0,item);return copy}},{key:"getArrayOfMoveItemToSpecificIndex",value:function getArrayOfMoveItemToSpecificIndex(array,item,indexOfDestination){var indexOfItem=_lodash["default"].indexOf(array,item);return this.getArrayOfMoveToSpecificIndex(array,indexOfItem,indexOfDestination)}},{key:"getArrayOfMoveSpecificItemToAside",value:function getArrayOfMoveSpecificItemToAside(array,item){var toTail=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;var indexOfItem=_lodash["default"].indexOf(array,item);return this.getArrayOfMoveSpecificIndexToAside(array,indexOfItem,toTail)}},{key:"getArrayOfMoveSpecificIndexToAside",value:function getArrayOfMoveSpecificIndexToAside(array,index){var toTail=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;var indexOfLast=_lodash["default"].size(array)-1;return this.getArrayOfMoveToSpecificIndex(array,index,toTail?indexOfLast:0)}},{key:"getECPayCheckMacValue",value:function getECPayCheckMacValue(data){var hashKey=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"5294y06JbISpM5x9";var hashIV=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"v77hoKGq4kWxNNIS";var clone=_lodash["default"].cloneDeep(data);delete clone.CheckMacValue;var keys=Object.keys(clone).sort(function(l,r){return l>r?1:-1});var checkValue="";var _iterator15=_createForOfIteratorHelper(keys),_step15;try{for(_iterator15.s();!(_step15=_iterator15.n()).done;){var _key35=_step15.value;checkValue+="".concat(_key35,"=").concat(clone[_key35],"&")}}catch(err){_iterator15.e(err)}finally{_iterator15.f()}checkValue="HashKey=".concat(hashKey,"&").concat(checkValue,"HashIV=").concat(hashIV);checkValue=encodeURIComponent(checkValue).toLowerCase();checkValue=checkValue.replace(/%20/g,"+").replace(/%2d/g,"-").replace(/%5f/g,"_").replace(/%2e/g,".").replace(/%21/g,"!").replace(/%2a/g,"*").replace(/%28/g,"(").replace(/%29/g,")").replace(/%20/g,"+");return _lodash["default"].toUpper(_cryptoJs["default"].SHA256(checkValue).toString(_cryptoJs["default"].enc.Hex))}},{key:"getStringOfHandledHtml",value:function getStringOfHandledHtml(htmlString){var predicate=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(document){console.log(document)};var document=(0,_nodeHtmlParser.parse)(htmlString);predicate(document);return document.toString()}},{key:"getSpecifyObjectBy",value:function getSpecifyObjectBy(array,predicate){var _iterator16=_createForOfIteratorHelper(array),_step16;try{for(_iterator16.s();!(_step16=_iterator16.n()).done;){var item=_step16.value;if(predicate(item))return item}}catch(err){_iterator16.e(err)}finally{_iterator16.f()}}},{key:"validatePayloadObjectValid",value:function validatePayloadObjectValid(content){var rules=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var idOfError=arguments.length>2&&arguments[2]!==undefined?arguments[2]:this.getRandomHash(10);if(this.isUndefinedNullEmpty(content)){throw new _exceptioner["default"](9999,"".concat(idOfError," content(pay-load) is undefined || empty"))}var _iterator17=_createForOfIteratorHelper(rules),_step17;try{for(_iterator17.s();!(_step17=_iterator17.n()).done;){var rule=_step17.value;if(_lodash["default"].isString(rule)){if(this.isUndefinedNullEmpty(content[rule])){throw new _exceptioner["default"](9999,"".concat(idOfError," ATTRIBUTE:'").concat(rule,"' is not Exist"))}}else if(_lodash["default"].isObject(rule)){var _key36=this.getObjectKey(rule);var predicate=this.getObjectValue(rule);if(!predicate(content[_key36])){throw new _exceptioner["default"](9999,"".concat(idOfError," ATTRIBUTE:'").concat(_key36,"' is not valid of custom rule"))}}}}catch(err){_iterator17.e(err)}finally{_iterator17.f()}return true}},{key:"getArrayOfSummarizeBy",value:function getArrayOfSummarizeBy(array,keyOfId,keyOfSum){var obj={};var _iterator18=_createForOfIteratorHelper(array),_step18;try{for(_iterator18.s();!(_step18=_iterator18.n()).done;){var item=_step18.value;var _key38=item[keyOfId];if(obj[_key38]!==undefined){obj[_key38]=obj[_key38]+item[keyOfSum]}else{obj[_key38]=item[keyOfSum]}}}catch(err){_iterator18.e(err)}finally{_iterator18.f()}var items=[];for(var _key37 in obj){var _obj={};_obj[keyOfId]=_key37;_obj[keyOfSum]=obj[_key37];items.push(_obj)}return items}},{key:"getHeadStringSplitBy",value:function getHeadStringSplitBy(string){var sign=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.getSeparatorOfUnique();return _lodash["default"].split(string,sign).shift()}},{key:"getTailStringSplitBy",value:function getTailStringSplitBy(string){var sign=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.getSeparatorOfUnique();return _lodash["default"].split(string,sign).pop()}},{key:"getSlicesByIndexes",value:function getSlicesByIndexes(){var array=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var indexes=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var slices=[];_lodash["default"].each(indexes,function(each,index,arrayOfIndexes){if(_lodash["default"].isEqual(index,indexes.length-1))return false;var slice=_lodash["default"].slice(array,each,indexes[index+1]);slices.push(slice)});return slices}},{key:"getRandomName",value:function getRandomName(){var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:undefined;return(0,_words.generate)(options)}},{key:"getRandomCount",value:function getRandomCount(){var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:undefined;return(0,_words.count)(options)}},{key:"isOverSpecificAge",value:function isOverSpecificAge(birthDate){var target=arguments.length>1&&arguments[1]!==undefined?arguments[1]:18;var age=(0,_momentTimezone["default"])().diff((0,_momentTimezone["default"])(birthDate,"YYYY-MM-DD"),"years");return age>=target}},{key:"isValidEmail",value:function isValidEmail(email){var emailRegex=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;return emailRegex.test(email)}},{key:"isValidTaiwaneseID",value:function isValidTaiwaneseID(idNumber){var idRegex=/^[A-Z][1-2]\d{8}$/;if(!idRegex.test(idNumber)){return false}var weight=[1,9,8,7,6,5,4,3,2,1];var firstChar=idNumber.charCodeAt(0)-65;var sum=firstChar*10+parseInt(idNumber.slice(1));for(var i=0;i<weight.length;i++){sum+=parseInt(idNumber.charAt(i+1))*weight[i]}return sum%10===0}},{key:"validatePersonalInfoInput",value:function validatePersonalInfoInput(name,email,idNumber,phoneNumber,birthday){var ageOfQualify=arguments.length>5&&arguments[5]!==undefined?arguments[5]:12;if(name.length<2){return{valid:false,message:"\u59D3\u540D\u81F3\u5C11\u8981\u5169\u500B\u5B57"}}var emailRegex=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!emailRegex.test(email)){return{valid:false,message:"\u96FB\u5B50\u90F5\u4EF6\u683C\u5F0F\u4E0D\u6B63\u78BA"}}var idRegex=/^[A-Z][1-2]\d{8}$/;if(!idRegex.test(idNumber)){return{valid:false,message:"\u8EAB\u5206\u8B49\u865F\u78BC\u683C\u5F0F\u4E0D\u6B63\u78BA"}}var phoneRegex=/^09\d{8}$/;if(!phoneRegex.test(phoneNumber)){return{valid:false,message:"\u624B\u6A5F\u865F\u78BC\u683C\u5F0F\u4E0D\u6B63\u78BA"}}if(this.isUndefinedNullEmpty(birthday))return{valid:false,message:"\u51FA\u751F\u65E5\u671F\u683C\u5F0F\u4E0D\u6B63\u78BA"};var now=(0,_momentTimezone["default"])();var age=now.diff(birthday,"years");if(age<ageOfQualify){return{valid:false,message:"\u5E74\u9F61\u4E0D\u5F97\u5C0F\u65BC ".concat(ageOfQualify," \u6B72")}}return{valid:true,message:"\u683C\u5F0F\u6AA2\u67E5\u901A\u904E"}}},{key:"getStringOfFormatTimestampRange",value:function getStringOfFormatTimestampRange(startTimestamp,endTimestamp){var startDate=(0,_momentTimezone["default"])(startTimestamp);var endDate=(0,_momentTimezone["default"])(endTimestamp);var formatDate=function formatDate(date){return date.format("YY/MM/DD")};var startYear=startDate.year();var endYear=endDate.year();if(startYear===endYear){return"".concat(formatDate(startDate)," - ").concat(endDate.format("MM/DD"))}else{return"".concat(formatDate(startDate)," - ").concat(formatDate(endDate))}}},{key:"getStringOfCalculateClassTime",value:function getStringOfCalculateClassTime(startTimestamp,endTimestamp,weeklyMinutes){var startDate=(0,_momentTimezone["default"])(startTimestamp);var endDate=(0,_momentTimezone["default"])(endTimestamp);var totalDays=endDate.diff(startDate,"days")+1;var totalWeeks=Math.ceil(totalDays/7);var totalMinutes=totalWeeks*weeklyMinutes;var hours=Math.floor(totalMinutes/60);var minutes=totalMinutes%60;if(minutes===0){return"".concat(hours,"\u5C0F\u6642")}else{return"".concat(hours,"\u5C0F\u6642").concat(minutes,"\u5206\u9418")}}},{key:"getNumberOfPeriodMinute",value:function getNumberOfPeriodMinute(startTimestamp,endTimestamp){var startTime=(0,_momentTimezone["default"])(startTimestamp).format("HH:mm");var endTime=(0,_momentTimezone["default"])(endTimestamp).format("HH:mm");var startDate=(0,_momentTimezone["default"])(startTime,"HH:mm");var endDate=(0,_momentTimezone["default"])(endTime,"HH:mm");var durationInMinutes=_momentTimezone["default"].duration(endDate.diff(startDate)).asMinutes();return durationInMinutes}},{key:"getStringOfWeekTime",value:function getStringOfWeekTime(day,startTimestamp,endTimestamp){var daysOfWeek={1:"\u9031\u4E00",2:"\u9031\u4E8C",3:"\u9031\u4E09",4:"\u9031\u56DB",5:"\u9031\u4E94",6:"\u9031\u516D",7:"\u9031\u65E5"};if(day<1||day>7){throw new Error("day \u5FC5\u9808\u5728 1 \u5230 7 \u4E4B\u9593")}var startTime=(0,_momentTimezone["default"])(startTimestamp).format("HH:mm");var endTime=(0,_momentTimezone["default"])(endTimestamp).format("HH:mm");return"".concat(daysOfWeek[day]," ").concat(startTime,"-").concat(endTime)}},{key:"extractNumber",value:function extractNumber(str){if(this.isUndefinedNullEmpty(str))return-1;var match=str.match(/\d+/);return match?Number(match[0]):-1}},{key:"fetchElementAttribute",value:(function(){var _fetchElementAttribute=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(dom){var attr,defaultValue,_args9=arguments;return _regenerator["default"].wrap(function _callee8$(_context9){while(1)switch(_context9.prev=_context9.next){case 0:attr=_args9.length>1&&_args9[1]!==undefined?_args9[1]:"innerText";defaultValue=_args9.length>2&&_args9[2]!==undefined?_args9[2]:"";_context9.next=4;return dom.evaluate(function(el){return el[attr]});case 4:return _context9.abrupt("return",_context9.sent);case 5:case"end":return _context9.stop()}},_callee8)}));function fetchElementAttribute(_x5){return _fetchElementAttribute.apply(this,arguments)}return fetchElementAttribute}())},{key:"fetchElementAttributes",value:(function(){var _fetchElementAttributes=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(dom,stringOfTrait){var defaultValue,element,_len29,attributes,_key39,_args10=arguments;return _regenerator["default"].wrap(function _callee9$(_context10){while(1)switch(_context10.prev=_context10.next){case 0:defaultValue=_args10.length>2&&_args10[2]!==undefined?_args10[2]:"";_context10.next=3;return dom.$(stringOfTrait);case 3:element=_context10.sent;if(this.isUndefinedNullEmpty(element)){_context10.next=16;break}for(_len29=_args10.length,attributes=new Array(_len29>3?_len29-3:0),_key39=3;_key39<_len29;_key39++){attributes[_key39-3]=_args10[_key39]}_context10.prev=6;_context10.next=9;return element.evaluate(function(el,attributes){if(attributes.length===1)return el[attributes.shift()];return _objectSpread({},attributes.map(function(attr){return el[attr]}))},attributes);case 9:return _context10.abrupt("return",_context10.sent);case 12:_context10.prev=12;_context10.t0=_context10["catch"](6);this.appendError("1581532 ".concat(stringOfTrait," fetch ").concat(JSON.stringify(attributes)," fail, element is not found"));return _context10.abrupt("return",defaultValue);case 16:return _context10.abrupt("return",defaultValue);case 17:case"end":return _context10.stop()}},_callee9,this,[[6,12]])}));function fetchElementAttributes(_x6,_x7){return _fetchElementAttributes.apply(this,arguments)}return fetchElementAttributes}())},{key:"writeElementAttributes",value:(function(){var _writeElementAttributes=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10(dom,stringOfTrait){var element,_len30,attributes,_key40,_args11=arguments;return _regenerator["default"].wrap(function _callee10$(_context11){while(1)switch(_context11.prev=_context11.next){case 0:_context11.next=2;return dom.$(stringOfTrait);case 2:element=_context11.sent;for(_len30=_args11.length,attributes=new Array(_len30>2?_len30-2:0),_key40=2;_key40<_len30;_key40++){attributes[_key40-2]=_args11[_key40]}if(this.isUndefinedNullEmpty(element)){_context11.next=9;break}_context11.next=7;return element.evaluate(function(element,attributes){attributes.map(function(attr){var entries=Object.entries(attr);var key=entries[0][0];var value=entries[0][1];element[key]=value})},attributes);case 7:_context11.next=10;break;case 9:this.appendError("1231232 ".concat(stringOfTrait," fetch ").concat(JSON.stringify(attributes)," fail, element is not found"));case 10:case"end":return _context11.stop()}},_callee10,this)}));function writeElementAttributes(_x8,_x9){return _writeElementAttributes.apply(this,arguments)}return writeElementAttributes}())},{key:"getSliceArrayOfUnique",value:function getSliceArrayOfUnique(array){if(!Array.isArray(array)||array.length===0){return[]}var firstElement=array[0];if(_lodash["default"].isObject(firstElement)&&key){var uniqueMap=new Map(array.map(function(item){return[item[key],item]}));return Array.from(uniqueMap.values())}else if(_lodash["default"].isObject(firstElement)){console.warn("getSliceArrayOfUniqueOptimized: No key provided for object array, using potentially slow deep comparison.");return _lodash["default"].uniqWith(array,_lodash["default"].isEqual)}else{return Array.from(new Set(array))}}},{key:"getUniqueValuesBy",value:function getUniqueValuesBy(array){var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"valueOfType";return _lodash["default"].uniq(array.map(function(item){return item[key]}))}},{key:"generateCombinations",value:function generateCombinations(){for(var _len31=arguments.length,attributes=new Array(_len31),_key41=0;_key41<_len31;_key41++){attributes[_key41]=arguments[_key41]}var keys=attributes.map(function(attr){return attr.key});var labelMap=_lodash["default"].keyBy(attributes,"key");var optionArrays=attributes.map(function(attr){return attr.options.map(function(option){return{key:attr.key,value:option.value,label:option.label}})});var cartesianProduct=_lodash["default"].reduce(optionArrays,function(acc,curr){return _lodash["default"].flatMap(acc,function(a){return curr.map(function(b){return[].concat((0,_toConsumableArray2["default"])(a),[b])})})},[[]]);var results=cartesianProduct.map(function(combination){var trait={};var idParts=[];var contentParts=[];var _iterator19=_createForOfIteratorHelper(combination),_step19;try{for(_iterator19.s();!(_step19=_iterator19.n()).done;){var _step19$value=_step19.value,_key42=_step19$value.key,value=_step19$value.value,label=_step19$value.label;trait[_key42]=value;idParts.push("".concat(_key42,"_").concat(value));contentParts.push("".concat(label))}}catch(err){_iterator19.e(err)}finally{_iterator19.f()}return{trait:trait,id:idParts.join("_"),content:contentParts.join("\uFF5C")}});return _lodash["default"].sortBy(results,function(item){return keys.map(function(key){return item.trait[key]})})}},{key:"extractStaticSegments",value:function extractStaticSegments(path){var rules=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[":"];return path.trim().replace(/^\.?\/*|\/*$/g,"").split("/").filter(function(segment){return segment&&!rules.some(function(rule){return segment.startsWith(rule)})})}},{key:"mutateRemoveKeys",value:function mutateRemoveKeys(array,keysToRemove){_lodash["default"].forEach(array,function(obj,index){var filtered=Object.fromEntries(Object.entries(obj).filter(function(_ref8){var _ref9=(0,_slicedToArray2["default"])(_ref8,1),key=_ref9[0];return!keysToRemove.includes(key)}));Object.keys(obj).forEach(function(k){return delete obj[k]});Object.assign(obj,filtered)})}},{key:"removeKeysFromArrayObjects",value:function removeKeysFromArrayObjects(array,keysToRemove){return _lodash["default"].map(array,function(obj){return Object.fromEntries(Object.entries(obj).filter(function(_ref10){var _ref11=(0,_slicedToArray2["default"])(_ref10,1),key=_ref11[0];return!keysToRemove.includes(key)}))})}},{key:"formatTextWithEllipsis",value:function formatTextWithEllipsis(originalText,maxLength){var ellipsis="......";var ellipsisLength=ellipsis.length;if(_lodash["default"].size(originalText)<=maxLength)return originalText;if(maxLength<=ellipsisLength)return"";var remainingLength=maxLength-ellipsisLength;var frontLength=Math.floor(remainingLength/2);var backLength=remainingLength-frontLength;var front=_lodash["default"].truncate(originalText,{length:frontLength,omission:""});var back=_lodash["default"].takeRight(originalText,backLength).join("");return"".concat(front).concat(ellipsis).concat(back)}},{key:"getObjectBy",value:function getObjectBy(obj){var predict=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(attr){return attr.checked!==true};return _lodash["default"].fromPairs(_lodash["default"].toPairs(obj).filter(function(_ref12){var _ref13=(0,_slicedToArray2["default"])(_ref12,2),_=_ref13[0],value=_ref13[1];return predict(value)}))}},{key:"mutateBy",value:function mutateBy(array){var predict=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(item){return item};var sorted=_lodash["default"].sortBy(array,predict);array.splice.apply(array,[0,array.length].concat((0,_toConsumableArray2["default"])(sorted)))}},{key:"findUniqueStrings",value:function findUniqueStrings(){for(var _len32=arguments.length,arrays=new Array(_len32),_key43=0;_key43<_len32;_key43++){arrays[_key43]=arguments[_key43]}var allStrings=_lodash["default"].flatten(arrays);var grouped=_lodash["default"].countBy(allStrings);return _lodash["default"].chain(grouped).pickBy(function(count){return count===1}).keys().compact().value()}},{key:"getObjectOfSpecifyKey",value:function getObjectOfSpecifyKey(value,key){var object={};object[key]=value;return object}},{key:"findUniqueNonReferenceStrings",value:function findUniqueNonReferenceStrings(){for(var _len33=arguments.length,arrays=new Array(_len33),_key44=0;_key44<_len33;_key44++){arrays[_key44]=arguments[_key44]}if(arrays.length===0)return[];var reference=arrays[0],rest=arrays.slice(1);var allExceptRef=_lodash["default"].flatten(rest);var counted=_lodash["default"].countBy(allExceptRef);return _lodash["default"].chain(counted).pickBy(function(count,str){return count===1&&!reference.includes(str)}).keys().compact().value()}},{key:"getArrayOfFillMissingValues",value:function getArrayOfFillMissingValues(array){var charset="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";var generateRandomValue=function generateRandomValue(){return _lodash["default"].times(8,function(){return _lodash["default"].sample(charset)}).join("")};var usedValues=new Set(array.map(function(item){return item.value}).filter(Boolean));return array.map(function(item){if(_lodash["default"].isEmpty(item.value)){var newValue;do{newValue=generateRandomValue()}while(usedValues.has(newValue));usedValues.add(newValue);return _objectSpread(_objectSpread({},item),{},{value:newValue})}return item})}},{key:"isFirestoreAutoId",value:function isFirestoreAutoId(id){return _lodash["default"].isString(id)&&id.length===20&&/^[A-Za-z0-9]{20}$/.test(id)}},{key:"getAutoIdOfFirestore",value:function getAutoIdOfFirestore(){return this.getRandomHashV2(20)}},{key:"getStringOfConvertTimeRange",value:function getStringOfConvertTimeRange(input){var _input$split=input.split("\uFF5C"),_input$split2=(0,_slicedToArray2["default"])(_input$split,2),datePart=_input$split2[0],timeRange=_input$split2[1];var dateStr=datePart.split("(")[0];var _timeRange$split=timeRange.split("-"),_timeRange$split2=(0,_slicedToArray2["default"])(_timeRange$split,2),start=_timeRange$split2[0],end=_timeRange$split2[1];var formatDate=function formatDate(time){return(0,_momentTimezone["default"])("".concat(dateStr," ").concat(time),"YYYY/MM/DD HH:mm").format("YYYYMMDDHHmm")};return"".concat(formatDate(start),"-").concat(formatDate(end))}},{key:"getTSOfSpecificDate",value:function getTSOfSpecificDate(dateStr){var _ref14=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref14$end=_ref14.end,end=_ref14$end===void 0?false:_ref14$end;return Number((0,_lodash["default"])(dateStr).thru(function(str){return(0,_momentTimezone["default"])(str.split("(")[0],"YYYY/MM/DD")}).thru(function(m){return end?m.endOf("day"):m.startOf("day")}).value().format("YYYYMMDDHHmmss"))}},{key:"isHttpsURL",value:function isHttpsURL(url){if(!_lodash["default"].isString(url))return false;try{var decoded=decodeURIComponent(url.trim());var parsed=new URL(decoded);return parsed.protocol==="https:"}catch(e){return false}}},{key:"generateUniqueCodeMap",value:function generateUniqueCodeMap(array){var length=arguments.length>1&&arguments[1]!==undefined?arguments[1]:3;if(length<2){throw new Error("\u4EE3\u78BC\u9577\u5EA6\u6700\u5C11\u5FC5\u9808\u70BA 2\u3002")}var usedCodes=new Set;var usedKeys=new Set;var generateRandomCode=function generateRandomCode(){var letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";var chars=letters+"0123456789";var code;do{code=letters[Math.floor(Math.random()*letters.length)];for(var i=1;i<length;i++){code+=chars[Math.floor(Math.random()*chars.length)]}}while(usedCodes.has(code));usedCodes.add(code);return code};return _lodash["default"].transform(array,function(result,key){if(usedKeys.has(key)){throw new Error("23125453 Duplicate key detected: \"".concat(key,"\""))}usedKeys.add(key);result[key]=generateRandomCode()},{})}},{key:"getPriceOfPercentageBehavior",value:function getPriceOfPercentageBehavior(price,percentage){var discount=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var decimal=this.toPercentageDecimal(percentage);return this.getNumberOfMultiplyCeil(price,discount?1-decimal:1+decimal)}},{key:"getFeeOfDiscount",value:function getFeeOfDiscount(origin,percentage){return Math.round(_lodash["default"].multiply(origin,percentage))}},{key:"mergeArrayByKey",value:function mergeArrayByKey(array){if(!Array.isArray(array))return array;var resultMap={};var _iterator20=_createForOfIteratorHelper(array),_step20;try{for(_iterator20.s();!(_step20=_iterator20.n()).done;){var obj=_step20.value;if(!_lodash["default"].isPlainObject(obj))continue;for(var _i16=0,_Object$entries=Object.entries(obj);_i16<_Object$entries.length;_i16++){var _Object$entries$_i=(0,_slicedToArray2["default"])(_Object$entries[_i16],2),_key45=_Object$entries$_i[0],value=_Object$entries$_i[1];if(!resultMap[_key45]){resultMap[_key45]=_lodash["default"].cloneDeep(value)}else{_lodash["default"].merge(resultMap[_key45],value)}}}}catch(err){_iterator20.e(err)}finally{_iterator20.f()}array.length=0;Object.entries(resultMap).forEach(function(_ref15){var _ref16=(0,_slicedToArray2["default"])(_ref15,2),key=_ref16[0],value=_ref16[1];array.push((0,_defineProperty2["default"])({},key,value))});return array}},{key:"getObjectOfStartEndDateTime",value:function getObjectOfStartEndDateTime(input){if(!input||typeof input!=="string"){return{startDate:"",startTime:"",endDate:"",endTime:""}}var cleaned=input.replace(/|/g," ").replace(/-/g,"-").replace(/\s+/g," ").trim();var crossDatePattern=/(\d{4}\/\d{1,2}\/\d{1,2})(?:\s*\([^)]*\))?\s*(\d{2}:\d{2})\s*-\s*(\d{4}\/\d{1,2}\/\d{1,2})(?:\s*\([^)]*\))?\s*(\d{2}:\d{2})/;var sameDatePattern=/(\d{4}\/\d{1,2}\/\d{1,2})(?:\s*\([^)]*\))?\s*(\d{2}:\d{2})\s*-\s*(\d{2}:\d{2})/;var startDate,startTime,endDate,endTime;if(crossDatePattern.test(cleaned)){var _cleaned$match=cleaned.match(crossDatePattern);var _cleaned$match2=(0,_slicedToArray2["default"])(_cleaned$match,5);startDate=_cleaned$match2[1];startTime=_cleaned$match2[2];endDate=_cleaned$match2[3];endTime=_cleaned$match2[4]}else if(sameDatePattern.test(cleaned)){var _cleaned$match3=cleaned.match(sameDatePattern);var _cleaned$match4=(0,_slicedToArray2["default"])(_cleaned$match3,4);startDate=_cleaned$match4[1];startTime=_cleaned$match4[2];endTime=_cleaned$match4[3];endDate=startDate}else{return{startDate:"",startTime:"",endDate:"",endTime:""}}var start=new Date("".concat(startDate," ").concat(startTime));var end=new Date("".concat(endDate," ").concat(endTime));if(end<start){throw new Error("End time cannot be earlier than start time: ".concat(input))}return{startDate:startDate,startTime:startTime,endDate:endDate,endTime:endTime}}},{key:"getFilteredHeraPeriods",value:function getFilteredHeraPeriods(arr,idOfCurrentBooze){return _lodash["default"].chain(arr).filter(function(item){return item.idOfBooze!==idOfCurrentBooze}).uniqBy(function(item){return"".concat(item.idOfBooze,"_").concat(item.idOfVariant)}).value()}},{key:"checkPeriodConflict",value:function checkPeriodConflict(newTask,existingTasks){var resourceCount=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;var _newTask$content$spli=newTask.content.split("\uFF5C"),_newTask$content$spli2=(0,_slicedToArray2["default"])(_newTask$content$spli,2),datePart=_newTask$content$spli2[0],timePart=_newTask$content$spli2[1];var date=(0,_momentTimezone["default"])(datePart.split(" ")[0],"YYYY/MM/DD");var _timePart$split=timePart.split("-"),_timePart$split2=(0,_slicedToArray2["default"])(_timePart$split,2),startTimeStr=_timePart$split2[0],endTimeStr=_timePart$split2[1];var start=(0,_momentTimezone["default"])("".concat(date.format("YYYY/MM/DD")," ").concat(startTimeStr),"YYYY/MM/DD HH:mm");var end=(0,_momentTimezone["default"])("".concat(date.format("YYYY/MM/DD")," ").concat(endTimeStr),"YYYY/MM/DD HH:mm");var conflictItems=_lodash["default"].filter(existingTasks,function(task){var _task$period$split=task.period.split("-"),_task$period$split2=(0,_slicedToArray2["default"])(_task$period$split,2),pStartStr=_task$period$split2[0],pEndStr=_task$period$split2[1];var pStart=(0,_momentTimezone["default"])(pStartStr,"YYYYMMDDHHmm");var pEnd=(0,_momentTimezone["default"])(pEndStr,"YYYYMMDDHHmm");return start.isBefore(pEnd)&&end.isAfter(pStart)});var conflict=conflictItems.length>=resourceCount;return{conflict:conflict,items:conflictItems}}}])}();var _default=exports["default"]=Utiller;
|
package/package.json
CHANGED