szdl-utils-kit 0.2.4 → 0.2.5

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/dist/index.js CHANGED
@@ -952,7 +952,7 @@ z = new WeakMap(), ut = new WeakMap(), K = new WeakMap(), Y = new WeakMap(), W =
952
952
  Object.keys(m).length && (this.answerData[E] = m);
953
953
  }
954
954
  const B = O(this, et, lt).call(this, d.data()), ht = Array.isArray(B) ? B.length : 0, V = O(this, ot, bt).call(this, d.total(), ht);
955
- if (Array.isArray(B) ? a(this, Y)[E] = B : typeof B == "object" && B !== null ? a(this, Y)[E] = Object.values(B) : a(this, Y)[E] = B, f += V, o || O(this, ft, xt).call(this, { key: E, value: d }), V > a(this, W) && V > ht) {
955
+ if (Array.isArray(B) ? a(this, Y)[E] = B : typeof B == "object" && B !== null && Object.keys(B).length === 0 ? a(this, Y)[E] = [] : a(this, Y)[E] = B, f += V, o || O(this, ft, xt).call(this, { key: E, value: d }), V > a(this, W) && V > ht) {
956
956
  const Z = Math.ceil(V / a(this, W)) - 1, J = Array.from({ length: Z });
957
957
  l.push([E, u[E], J]);
958
958
  }
@@ -1,2 +1,2 @@
1
1
  var Ae=Object.defineProperty;var Te=(T,S,L)=>S in T?Ae(T,S,{enumerable:!0,configurable:!0,writable:!0,value:L}):T[S]=L;var W=(T,S,L)=>(Te(T,typeof S!="symbol"?S+"":S,L),L),zt=(T,S,L)=>{if(!S.has(T))throw TypeError("Cannot "+L)};var a=(T,S,L)=>(zt(T,S,"read from private field"),L?L.call(T):S.get(T)),_=(T,S,L)=>{if(S.has(T))throw TypeError("Cannot add the same private member more than once");S instanceof WeakSet?S.add(T):S.set(T,L)},g=(T,S,L,ht)=>(zt(T,S,"write to private field"),ht?ht.call(T,L):S.set(T,L),L);var O=(T,S,L)=>(zt(T,S,"access private method"),L);(function(T,S){typeof exports=="object"&&typeof module<"u"?S(exports):typeof define=="function"&&define.amd?define(["exports"],S):(T=typeof globalThis<"u"?globalThis:T||self,S(T["szdl-utils-kit"]={}))})(this,function(T){var K,ut,q,I,k,Q,v,B,z,Dt,$,P,tt,et,at,Xt,mt,Vt,ft,Zt,Nt,Kt,_t,qt,Ot,Qt,Ht,oe,Yt,he,yt,vt,At,$t,Tt,te,ct,jt,St,ee,It,ae,st,pt,lt,kt,dt,se,rt,X,V,Ut,it,gt,Bt,ce,Et,re,Gt,le,wt,ue,Ct,me,Pt,fe,Ft,Ne;"use strict";var S=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function L(w){return w&&w.__esModule&&Object.prototype.hasOwnProperty.call(w,"default")?w.default:w}var ht={exports:{}};(function(w,i){(function(e){Array.prototype.indexOf||(Array.prototype.indexOf=function(t,s){var h,c;for(h=s||0,c=this.length;h<c;h+=1)if(this[h]===t)return h;return-1});var o=this,n=function(t,s){for(var h=t.toString();h.length<s;)h="0"+h;return h},u=function(t,s){return s!==e?(t.year(s.year()||s.year),t.month(s.month()||s.month),t.day(s.day()||s.day),t.hours(s.hours()||s.hours),t.minutes(s.minutes()||s.minutes),t.seconds(s.seconds()||s.seconds),t.milliseconds(s.milliseconds()||s.milliseconds),t):e},l=function(t,s){var h,c="";return h=t.slice(s,s+1),h!==""&&!isNaN(Number(h))&&(c+="%H"),h=t.charAt(s+2),h!==""&&h===":"&&(c+=h),h=t.slice(s+3,s+4),h!==""&&!isNaN(Number(h))&&(c+="%M"),h=t.charAt(s+5),h!==""&&h===":"&&(c+=h),h=t.slice(s+6,s+7),h!==""&&!isNaN(Number(h))&&(c+="%S"),c},y=function(t,s){var h,c=[t.slice(s,s+1),t.charAt(s+2),t.slice(s+3,s+4),t.charAt(s+5),t.slice(s+6,s+9)],p;return!isNaN(Number(c[0]))&&!isNaN(Number(c[2]))&&!isNaN(Number(c[4]))?(c[1]==="."&&c[3]==="."?h="%d.%m.%Y":c[1]==="-"&&c[3]==="-"?h="%m-%d-%Y":c[1]==="/"&&c[3]==="/"&&(h="%m/%d/%Y"),h):(p=[t.slice(s,s+3),t.charAt(s+4),t.slice(s+5,s+6),t.charAt(s+7),t.slice(s+8,s+9)],!isNaN(Number(p[0]))&&!isNaN(Number(p[2]))&&!isNaN(Number(p[4]))?(p[1]==="-"&&p[3]==="-"&&(h="%Y-%m-%d"),h):"")},f=o.tempus,r,E,M=o.navigator||{},m="en",N={en:{JANUARY_SHORT:"Jan",FEBRUARY_SHORT:"Feb",MARCH_SHORT:"Mar",APRIL_SHORT:"Apr",MAY_SHORT:"May",JUNE_SHORT:"Jun",JULY_SHORT:"Jul",AUGUST_SHORT:"Aug",SEPTEMBER_SHORT:"Sep",OCTOBER_SHORT:"Oct",NOVEMBER_SHORT:"Nov",DECEMBER_SHORT:"Dec",JANUARY_LONG:"January",FEBRUARY_LONG:"February",MARCH_LONG:"March",APRIL_LONG:"April",MAY_LONG:"May",JUNE_LONG:"June",JULY_LONG:"July",AUGUST_LONG:"August",SEPTEMBER_LONG:"September",OCTOBER_LONG:"October",NOVEMBER_LONG:"November",DECEMBER_LONG:"December",SUNDAY_SHORT:"Sun",MONDAY_SHORT:"Mon",TUESDAY_SHORT:"Tue",WEDNESDAY_SHORT:"Wed",THURSDAY_SHORT:"Thu",FRIDAY_SHORT:"Fri",SATURDAY_SHORT:"Sat",SUNDAY_LONG:"Sunday",MONDAY_LONG:"Monday",TUESDAY_LONG:"Tuesday",WEDNESDAY_LONG:"Wednesday",THURSDAY_LONG:"Thursday",FRIDAY_LONG:"Friday",SATURDAY_LONG:"Saturday"},ru:{JANUARY_SHORT:"Янв",FEBRUARY_SHORT:"Фев",MARCH_SHORT:"Мар",APRIL_SHORT:"Апр",MAY_SHORT:"Май",JUNE_SHORT:"Июн",JULY_SHORT:"Июл",AUGUST_SHORT:"Авг",SEPTEMBER_SHORT:"Сен",OCTOBER_SHORT:"Окт",NOVEMBER_SHORT:"Ноя",DECEMBER_SHORT:"Дек",JANUARY_LONG:"Январь",FEBRUARY_LONG:"Февраль",MARCH_LONG:"Март",APRIL_LONG:"Апрель",MAY_LONG:"Май",JUNE_LONG:"Июнь",JULY_LONG:"Июль",AUGUST_LONG:"Август",SEPTEMBER_LONG:"Сентябрь",OCTOBER_LONG:"Октябрь",NOVEMBER_LONG:"Ноябрь",DECEMBER_LONG:"Декабрь",SUNDAY_SHORT:"Вс",MONDAY_SHORT:"Пн",TUESDAY_SHORT:"Вт",WEDNESDAY_SHORT:"Ср",THURSDAY_SHORT:"Чт",FRIDAY_SHORT:"Пт",SATURDAY_SHORT:"Сб",SUNDAY_LONG:"Воскресенье",MONDAY_LONG:"Понедельник",TUESDAY_LONG:"Вторник",WEDNESDAY_LONG:"Среда",THURSDAY_LONG:"Четверг",FRIDAY_LONG:"Пятница",SATURDAY_LONG:"Суббота"},ua:{JANUARY_SHORT:"Січ",FEBRUARY_SHORT:"Лют",MARCH_SHORT:"Берез",APRIL_SHORT:"Квіт",MAY_SHORT:"Трав",JUNE_SHORT:"Черв",JULY_SHORT:"Лип",AUGUST_SHORT:"Серп",SEPTEMBER_SHORT:"Верес",OCTOBER_SHORT:"Жовт",NOVEMBER_SHORT:"Листоп",DECEMBER_SHORT:"Груд",JANUARY_LONG:"Січень",FEBRUARY_LONG:"Лютий",MARCH_LONG:"Березень",APRIL_LONG:"Квітень",MAY_LONG:"Травень",JUNE_LONG:"Червень",JULY_LONG:"Липень",AUGUST_LONG:"Серпень",SEPTEMBER_LONG:"Вересень",OCTOBER_LONG:"Жовтень",NOVEMBER_LONG:"Листопад",DECEMBER_LONG:"Грудень",SUNDAY_SHORT:"Нд",MONDAY_SHORT:"Пн",TUESDAY_SHORT:"Вт",WEDNESDAY_SHORT:"Ср",THURSDAY_SHORT:"Чт",FRIDAY_SHORT:"Пт",SATURDAY_SHORT:"Сб",SUNDAY_LONG:"Неділя",MONDAY_LONG:"Понеділок",TUESDAY_LONG:"Вівторок",WEDNESDAY_LONG:"Середа",THURSDAY_LONG:"Четвер",FRIDAY_LONG:"П’ятниця",SATURDAY_LONG:"Субота"},de:{JANUARY_SHORT:"Jan",FEBRUARY_SHORT:"Feb",MARCH_SHORT:"März",APRIL_SHORT:"Apr",MAY_SHORT:"Mai",JUNE_SHORT:"Juni",JULY_SHORT:"Juli",AUGUST_SHORT:"Aug",SEPTEMBER_SHORT:"Sept",OCTOBER_SHORT:"Okt",NOVEMBER_SHORT:"Nov",DECEMBER_SHORT:"Dez",JANUARY_LONG:"Januar",FEBRUARY_LONG:"Februar",MARCH_LONG:"März",APRIL_LONG:"April",MAY_LONG:"Mai",JUNE_LONG:"Juni",JULY_LONG:"Juli",AUGUST_LONG:"August",SEPTEMBER_LONG:"September",OCTOBER_LONG:"Oktober",NOVEMBER_LONG:"November",DECEMBER_LONG:"Dezember",SUNDAY_SHORT:"So",MONDAY_SHORT:"Mo",TUESDAY_SHORT:"Di",WEDNESDAY_SHORT:"Mi",THURSDAY_SHORT:"Do",FRIDAY_SHORT:"Fr",SATURDAY_SHORT:"Sa",SUNDAY_LONG:"Sonntag",MONDAY_LONG:"Montag",TUESDAY_LONG:"Dienstag",WEDNESDAY_LONG:"Mittwoch",THURSDAY_LONG:"Donnerstag",FRIDAY_LONG:"Freitag",SATURDAY_LONG:"Samstag"}},F=function(){return[N[m].JANUARY_LONG,N[m].FEBRUARY_LONG,N[m].MARCH_LONG,N[m].APRIL_LONG,N[m].MAY_LONG,N[m].JUNE_LONG,N[m].JULY_LONG,N[m].AUGUST_LONG,N[m].SEPTEMBER_LONG,N[m].OCTOBER_LONG,N[m].NOVEMBER_LONG,N[m].DECEMBER_LONG]},Rt=function(){return[N[m].JANUARY_SHORT,N[m].FEBRUARY_SHORT,N[m].MARCH_SHORT,N[m].APRIL_SHORT,N[m].MAY_SHORT,N[m].JUNE_SHORT,N[m].JULY_SHORT,N[m].AUGUST_SHORT,N[m].SEPTEMBER_SHORT,N[m].OCTOBER_SHORT,N[m].NOVEMBER_SHORT,N[m].DECEMBER_SHORT]},nt=function(){return[N[m].SUNDAY_LONG,N[m].MONDAY_LONG,N[m].TUESDAY_LONG,N[m].WEDNESDAY_LONG,N[m].THURSDAY_LONG,N[m].FRIDAY_LONG,N[m].SATURDAY_LONG]},ot=function(){return[N[m].SUNDAY_SHORT,N[m].MONDAY_SHORT,N[m].TUESDAY_SHORT,N[m].WEDNESDAY_SHORT,N[m].THURSDAY_SHORT,N[m].FRIDAY_SHORT,N[m].SATURDAY_SHORT]},x,Jt,Mt,Lt,ye=function(t,s,h){var c;o.XMLHttpRequest?c=new XMLHttpRequest:c=new ActiveXObject("Microsoft.XMLHTTP"),c.onreadystatechange=function(){c.readyState===4&&(c.status===200?s&&(o.JSON===e?alert(`Please, include json2 into your project if you want use old browsers!
2
- https://github.com/douglascrockford/JSON-js/blob/master/json2.js`):s(JSON.parse(c.responseText))):h&&h(c))},c.open("GET",t,!1),c.send()},C={"%d":{format:function(t){return n(t.day()||r.MIN_DAY,2)},parse:function(t){var s=Number(t);return{day:isNaN(s)?e:s}},minLength:2,maxLength:2,type:"number"},"%m":{format:function(t){return n(t.month()||r.MIN_MONTH,2)},parse:function(t){var s=Number(t);return{month:isNaN(s)?e:s}},minLength:2,maxLength:2,type:"number"},"%Y":{format:function(t){return n(t.year()||r.MIN_YEAR,4)},parse:function(t){var s=Number(t);return{year:isNaN(s)?e:s}},minLength:4,maxLength:4,type:"number"},"%w":{format:function(t){return t.dayOfWeek()||r.MIN_DAY_OF_WEEK},parse:function(){return{}},minLength:1,maxLength:1,type:"number"},"%a":{format:function(t){var s=t.dayOfWeek();return Lt[s!==e?s:r.MIN_DAY_OF_WEEK]},parse:function(){return{}},minLength:1,maxLength:999,type:"word"},"%A":{format:function(t){var s=t.dayOfWeek();return Mt[s!==e?s:r.MIN_DAY_OF_WEEK]},parse:function(){return{}},minLength:1,maxLength:999,type:"word"},"%b":{format:function(t){var s=r.options("monthFromZero")?t.month():t.month()-1;return Jt[s!==e?s:r.MIN_MONTH]},parse:function(t){var s=r.monthNames().indexOf(t)+(r.options("monthFromZero")?0:1);return{month:s!==-1?s:e}},minLength:1,maxLength:999,type:"word"},"%B":{format:function(t){var s=r.options("monthFromZero")?t.month():t.month()-1;return x[s!==e?s:r.MIN_MONTH]},parse:function(t){var s=r.monthNames(!0).indexOf(t)+(r.options("monthFromZero")?0:1);return{month:s!==-1?s:e}},minLength:1,maxLength:999,type:"word"},"%H":{format:function(t){return n(t.hours()||r.MIN_HOURS,2)},parse:function(t){var s=Number(t);return{hours:isNaN(s)?e:s}},minLength:2,maxLength:2,type:"number"},"%M":{format:function(t){return n(t.minutes()||r.MIN_MINUTES,2)},parse:function(t){var s=Number(t);return{minutes:isNaN(s)?e:s}},minLength:2,maxLength:2,type:"number"},"%S":{format:function(t){return n(t.seconds()||r.MIN_SECONDS,2)},parse:function(t){var s=Number(t);return{seconds:isNaN(s)?e:s}},minLength:2,maxLength:2,type:"number"},"%s":{format:function(t){return t.timestamp()},parse:function(t){return isNaN(Number(t))?{}:r(Number(t)).get()},minLength:1,maxLength:20,type:"number"},"%F":{format:function(t){return n(t.year()||r.MIN_YEAR,4)+"-"+n(t.month()||r.MIN_MONTH,2)+"-"+n(t.day()||r.MIN_DAY,2)},parse:function(t){var s=Number(t.slice(0,4)),h=Number(t.slice(5,7)),c=Number(t.slice(8,10));return{year:s,month:h,day:c}},minLength:10,maxLength:10,type:"string"},"%D":{format:function(t){return n(t.month()||r.MIN_MONTH,2)+"/"+n(t.day()||r.MIN_DAY,2)+"/"+n(t.year()||r.MIN_YEAR,4)},parse:function(t){var s=Number(t.slice(0,2)),h=Number(t.slice(3,5)),c=Number(t.slice(6,10));return{year:c,month:s,day:h}},minLength:10,maxLength:10,type:"string"}},Wt={useMilliseconds:!1,monthFromZero:!1},d;d=function(t,s,h){return this._d=new Date,this._i={year:!1,month:!1,day:!1,hours:!1,minutes:!1,seconds:!1,milliseconds:!1},t!==e&&this.set(t,s,h),this},d.fn=d.prototype,d.fn.dayCount=function(){var t=this.month(),s=r.MAX_DAY_IN_MONTHS[t-(r.options("monthFromZero")?0:1)];return this.leapYear()&&t===(r.options("monthFromZero")?1:2)&&(s+=1),s},d.fn.year=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_YEAR&&Number(t)<=r.MAX_YEAR?(this._d.setFullYear(Number(t)),this._i.year=!1):this._i.year=Number(t):(this._d.setFullYear(r.MIN_YEAR),this._i.year=!1);else return this._i.year===!1?this._d.getFullYear():this._i.year;return this},d.fn.month=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_MONTH&&Number(t)<=r.MAX_MONTH?(this._d.setMonth(r.options("monthFromZero")?Number(t):Number(t)-1),this._i.month=!1):this._i.month=Number(t):(this._d.setMonth(r.options("monthFromZero")?r.MIN_MONTH:r.MIN_MONTH-1),this._i.month=!1);else return this._i.month===!1?r.options("monthFromZero")?this._d.getMonth():this._d.getMonth()+1:this._i.month;return this},d.fn.day=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_DAY&&Number(t)<=this.dayCount()?(this._d.setDate(Number(t)),this._i.day=!1):this._i.day=Number(t):(this._d.setDate(r.MIN_DAY),this._i.day=!1);else return this._i.day===!1?this._d.getDate():this._i.day;return this},d.fn.hours=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_HOURS&&Number(t)<=r.MAX_HOURS?(this._d.setHours(Number(t)),this._i.hours=!1):this._i.hours=Number(t):(this._d.setHours(r.MIN_HOURS),this._i.hours=!1);else return this._i.hours===!1?this._d.getHours():this._i.hours;return this},d.fn.minutes=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_MINUTES&&Number(t)<=r.MAX_MINUTES?(this._d.setMinutes(Number(t)),this._i.minutes=!1):this._i.minutes=Number(t):(this._d.setMinutes(r.MIN_MINUTES),this._i.minutes=!1);else return this._i.minutes===!1?this._d.getMinutes():this._i.minutes;return this},d.fn.seconds=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_SECONDS&&Number(t)<=r.MAX_SECONDS?(this._d.setSeconds(Number(t)),this._i.seconds=!1):this._i.seconds=Number(t):(this._d.setSeconds(r.MIN_SECONDS),this._i.seconds=!1);else return this._i.seconds===!1?this._d.getSeconds():this._i.seconds;return this},d.fn.milliseconds=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_MILLISECONDS&&Number(t)<=r.MAX_MILLISECONDS?(this._d.setMilliseconds(Number(t)),this._i.milliseconds=!1):this._i.milliseconds=Number(t):(this._d.setMilliseconds(r.MIN_MILLISECONDS),this._i.milliseconds=!1);else return this._i.milliseconds===!1?this._d.getMilliseconds():this._i.milliseconds;return this},d.fn.week=function(){var t=new Date(this.year(),0,1),s=r(this.utc()).hours(0).minutes(0).seconds(0).milliseconds(0).utc()*1e3;return Math.ceil(((s-t.getTime())/864e5+t.getDay()+1)/7)},d.fn.set=function(t,s,h){if(this._i={year:!1,month:!1,day:!1,hours:!1,minutes:!1,seconds:!1,milliseconds:!1},t===e)return this._d=new Date,this;if(t instanceof Date)return this._d=t,this;if(typeof t=="number")return this._d=new Date(t*(r.options("useMilliseconds")?1:1e3)),this;if(typeof t=="object"&&(t instanceof Array?(this.day(r.MIN_DAY),this.year(t[0]),this.month(t[1]),this.day(t[2]),this.hours(t[3]),this.minutes(t[4]),this.seconds(t[5]),this.milliseconds(t[6])):(this.day(r.MIN_DAY),this.year(t.year),this.month(t.month),this.day(t.day),this.hours(t.hours),this.minutes(t.minutes),this.seconds(t.seconds),this.milliseconds(t.milliseconds))),typeof t=="string"){var c,p=[],A,R,Z=[],Y=0,U=0,b,J,D={},H;if(t===e)return A=u(this,h),A===e&&(this._i={year:-1,month:-1,day:-1,hours:-1,minutes:-1,seconds:-1,milliseconds:-1}),A;for(s===e&&(s=r.detectFormat(t));Y<s.length;){if(s.charAt(Y)==="%"){if(R=s.charAt(Y)+s.charAt(Y+1),C[R]!==e){switch(b=0,J="",C[R].type){case"number":for(;b<C[R].maxLength&&U+b<t.length&&!isNaN(Number(t.charAt(U+b)));)J+=t.charAt(U+b),b+=1;break;case"word":for(;b<C[R].maxLength&&U+b<t.length&&/^[\u00BF-\u1FFF\u2C00-\uD7FF\w]+$/.test(t.charAt(U+b));)J+=t.charAt(U+b),b+=1;break;case"string":for(;b<C[R].maxLength&&U+b<t.length;)J+=t.charAt(U+b),b+=1;break}if(b<C[R].minLength)return A=u(this,h),A===e&&(this._i={year:-1,month:-1,day:-1,hours:-1,minutes:-1,seconds:-1,milliseconds:-1}),A;p.push(R),Z.push(J),b-=1,U+=b,Y+=1}}else if(t.charAt(U)!==s.charAt(Y))return A=u(this,h),A===e&&(this._i={year:-1,month:-1,day:-1,hours:-1,minutes:-1,seconds:-1,milliseconds:-1}),A;Y+=1,U+=1}for(c in p)p.hasOwnProperty(c)&&C.hasOwnProperty(p[c])&&(H=C[p[c]].parse(Z[c]),D={year:H.year!==e?H.year:D.year,month:H.month!==e?H.month:D.month,day:H.day!==e?H.day:D.day,hours:H.hours!==e?H.hours:D.hours,minutes:H.minutes!==e?H.minutes:D.minutes,seconds:H.seconds!==e?H.seconds:D.seconds});this.day(r.MIN_DAY),this.year(D.year),this.month(D.month),this.day(D.day),this.hours(D.hours),this.minutes(D.minutes),this.seconds(D.seconds),this.milliseconds(D.milliseconds)}return this},d.fn.leapYear=function(){var t=this.year();return t%4===0?t%100===0?t%400===0:!0:!1},d.fn.timestamp=function(t){return arguments.length!==0?(this._d=new Date(Number(t)*(r.options("useMilliseconds")?1:1e3)+this._d.getTimezoneOffset()*6e4),this):r.options("useMilliseconds")?this._d.getTime()-this._d.getTimezoneOffset()*6e4:Math.floor(this._d.getTime()/1e3)-this._d.getTimezoneOffset()*60},d.fn.utc=function(t){return arguments.length!==0?(this._d=new Date(Number(t)*(r.options("useMilliseconds")?1:1e3)),this):r.options("useMilliseconds")?this._d.getTime():Math.floor(this._d.getTime()/1e3)},d.fn.dayOfWeek=function(t){if(t==="long")return Mt[this._d.getDay()];if(t==="short")return Lt[this._d.getDay()];if(t===e)return this._d.getDay();if(t===0||t==="Sunday")return this.calc({day:-this.dayOfWeek()});if(t===1||t==="Monday")return this.calc({day:(this.dayOfWeek()===0?-6:1)-this.dayOfWeek()});if(t===2||t==="Tuesday")return this.calc({day:(this.dayOfWeek()===0?-5:2)-this.dayOfWeek()});if(t===3||t==="Wednesday")return this.calc({day:(this.dayOfWeek()===0?-4:3)-this.dayOfWeek()});if(t===4||t==="Thursday")return this.calc({day:(this.dayOfWeek()===0?-3:4)-this.dayOfWeek()});if(t===5||t==="Friday")return this.calc({day:(this.dayOfWeek()===0?-2:5)-this.dayOfWeek()});if(t===6||t==="Saturday")return this.calc({day:(this.dayOfWeek()===0?-1:6)-this.dayOfWeek()})},d.fn.timezone=function(t){switch(t){case"hours":return Math.floor(this._d.getTimezoneOffset()/60);case"minutes":return this._d.getTimezoneOffset();default:return this._d.getTimezoneOffset()*60}},d.fn.get=function(t){switch(t){case"Date":return new Date(this.year(),this.month()-(r.options("monthFromZero")?0:1),this.day(),this.hours(),this.minutes(),this.seconds(),this.milliseconds());case"DateUTC":return new Date(Date.UTC(this.year(),this.month()-(r.options("monthFromZero")?0:1),this.day(),this.hours(),this.minutes(),this.seconds(),this.milliseconds()));case"Array":return[this.year(),this.month(),this.day(),this.hours(),this.minutes(),this.seconds(),this.milliseconds()];default:return{year:this.year(),month:this.month(),week:this.week(),day:this.day(),hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds(),utc:this.utc(),dayOfWeek:this.dayOfWeek(),dayOfWeekShort:this.dayOfWeek("short"),dayOfWeekLong:this.dayOfWeek("long"),timestamp:this.timestamp()}}},d.fn.format=function(t){for(var s=0,h="",c;s<t.length;)t.charAt(s)==="%"?(c=t.charAt(s)+t.charAt(s+1),C[c]!==e?(h+=C[c].format(this),s+=1):h+="%"):h+=t.charAt(s),s+=1;return h},d.fn.valid=function(){return this._i.year===!1&&this._i.month===!1&&this._i.day===!1&&this._i.hours===!1&&this._i.minutes===!1&&this._i.seconds===!1&&this._i.milliseconds===!1},d.fn.errors=function(){return this._i},d.fn.between=function(t,s){var h=this.timestamp(),c=t.timestamp();switch(s){case"year":return Math.floor((c-h)/31556952);case"month":return Math.floor((c-h)/2629746);case"day":return Math.floor((c-h)/86400);case"hours":return Math.floor((c-h)/3600);case"minutes":return Math.floor((c-h)/60);case"seconds":return c-h;default:return e}},d.fn.calc=function(t){return t.year!==e&&this._d.setFullYear(this._d.getFullYear()+t.year),t.month!==e&&this._d.setMonth(this._d.getMonth()+t.month),t.day!==e&&this._d.setDate(this._d.getDate()+t.day),t.hours!==e&&this._d.setHours(this._d.getHours()+t.hours),t.minutes!==e&&this._d.setMinutes(this._d.getMinutes()+t.minutes),t.seconds!==e&&this._d.setSeconds(this._d.getSeconds()+t.seconds),t.milliseconds!==e&&this._d.setMilliseconds(this._d.getMilliseconds()+t.milliseconds),this},r=function(t,s,h){return new d(t,s,h)},r.MIN_YEAR=1e3,r.MAX_YEAR=3e3,r.MIN_MONTH=1,r.MAX_MONTH=12,r.MIN_DAY=1,r.MAX_DAY_IN_MONTHS=[31,28,31,30,31,30,31,31,30,31,30,31],r.MIN_DAY_OF_WEEK=0,r.MAX_DAY_OF_WEEK=6,r.MIN_HOURS=0,r.MAX_HOURS=23,r.MIN_MINUTES=0,r.MAX_MINUTES=59,r.MIN_SECONDS=0,r.MAX_SECONDS=59,r.MIN_MILLISECONDS=0,r.MAX_MILLISECONDS=999,r.VERSION="0.2.18",r.options=function(t,s){if(t===e)return Wt;if(Wt.hasOwnProperty(t)){if(s===e)return Wt[t];Wt[t]=s,t==="monthFromZero"&&(r.MIN_MONTH=s?0:1,r.MAX_MONTH=s?11:12)}return e},r.noConflict=function(){return o.tempus=f,r},r.generate=function(t){var s,h,c,p,A,R,Z,Y;if(typeof t.dateFrom!="number"&&(t.dateFrom instanceof d?s=t.dateFrom.utc():s=r(t.dateFrom,t.formatFrom).utc()),typeof t.dateTo!="number"&&(t.dateTo instanceof d?h=t.dateTo.utc():h=r(t.dateTo,t.formatTo!==e?t.formatTo:t.formatFrom).utc()),typeof t.period=="number"?A={year:0,month:0,day:0,hours:0,minutes:0,seconds:t.period}:typeof t.period=="string"?A={year:t.period==="year"?1:0,month:t.period==="month"?1:0,day:t.period==="day"?1:0,hours:t.period==="hours"?1:0,minutes:t.period==="minutes"?1:0,seconds:t.period==="seconds"?1:0}:typeof t.period=="object"&&(A={year:t.period.year!==e?t.period.year:0,month:t.period.month!==e?t.period.month:0,day:t.period.day!==e?t.period.day:0,hours:t.period.hours!==e?t.period.hours:0,minutes:t.period.minutes!==e?t.period.minutes:0,seconds:t.period.seconds!==e?t.period.seconds:0}),t.groupBy===e?R=t.asObject===!0?{}:[]:(R=[],R.push([]),Z=r(s).get()[t.groupBy]),Y=function(J,D,H){return t.asObject===!0?t.format!==e?J[r(D).format(t.format)]={}:J[r(D).format("%F %H:%M:%S")]={}:t.format!==e?J.push(H?null:r(D).format(t.format)):J.push(H?null:r(D)),J},t.groupBy!==e&&t.fillNulls){var U={year:A.year?-A.year:e,month:A.month?-A.month:e,day:A.day?-A.day:e,hours:A.hours?-A.hours:e,minutes:A.minutes?-A.minutes:e,seconds:A.seconds?-A.seconds:e,milliseconds:A.milliseconds?-A.milliseconds:e};for(c=r(s).calc(U).utc();r(c).get()[t.groupBy]===Z;)Y(R[R.length-1],c,!0),c=r(c).calc(U).utc();if(t.groupBy==="week"){var b=r(s).dayOfWeek();for(c=r(s).dayOfWeek(0).utc();R[0].length<b&&c<s;)Y(R[R.length-1],c,!0),c=r(c).calc(A).utc()}}for(;s<=h;)t.groupBy===e?Y(R,s):r(s).get()[t.groupBy]===Z?Y(R[R.length-1],s):(R.push([]),Y(R[R.length-1],s),Z=r(s).get()[t.groupBy]),s=r(s).calc(A).utc();if(t.groupBy!==e&&t.fillNulls)for(p=r(h).calc(A).utc();r(p).get()[t.groupBy]===Z;)Y(R[R.length-1],p,!0),p=r(p).calc(A).utc();return R},r.monthNames=function(t){switch(t){case"long":return x;default:return Jt}},r.dayNames=function(t){switch(t){case"long":return Mt;default:return Lt}},r.lang=function(t){if(t!==e)m=t,N[m]===e&&(m="en"),x=F(),Jt=Rt(),Mt=nt(),Lt=ot();else return m;return e},r.availableLangs=function(){return Object.keys(N)},r.registerFormat=function(t,s,h,c,p,A){C[t]={format:s,parse:h,minLength:c,maxLength:p,type:A}},r.unregisterFormat=function(t){delete C[t]},r.detectFormat=function(t){var s,h,c;return s=y(t,0),s!==""&&(c=10),h=t.charAt(c),(h==="T"||h===" ")&&(s+=h,c+=1),s+=l(t,c),s},E={TempusDate:d},r.classes=function(t,s){if(s===e)return E[t];E[t]=s},r.loadTranslations=function(t){typeof t=="object"?N=t:typeof t=="string"&&ye(t,function(s){N=s},function(s){})},m=(M.language||M.systemLanguage||M.userLanguage||"en").substr(0,2).toLowerCase(),N[m]===e&&(m="en"),x=F(),Jt=Rt(),Mt=nt(),Lt=ot(),w.exports&&(i=w.exports=r),i.tempus=r}).call(S)})(ht,ht.exports);var _e=ht.exports;const bt=L(_e);class j{constructor(i,e={}){_(this,at);_(this,mt);_(this,ft);_(this,Nt);_(this,_t);_(this,Ot);_(this,Ht);_(this,Yt);_(this,yt);_(this,At);_(this,Tt);_(this,ct);_(this,St);_(this,It);_(this,st);_(this,lt);_(this,dt);_(this,K,null);_(this,ut,null);_(this,q,[]);_(this,I,{});_(this,k,50);_(this,Q,!0);_(this,v,null);_(this,B,null);_(this,z,null);_(this,Dt,100);_(this,$,"no");_(this,P,!1);_(this,tt,!1);_(this,et,!1);W(this,"errors",{});W(this,"answerData",{});g(this,K,i),g(this,ut,e)}get serial(){return a(this,P)}setSerial(){g(this,P,!0),g(this,tt,!0),g(this,et,!1)}setParallel(){g(this,P,!1),g(this,tt,!1),g(this,et,!0)}stop(){g(this,Q,!1)}async batch(i,e){a(this,z)&&O(this,mt,Vt).call(this),e&&g(this,v,e),a(this,tt)===!1&&g(this,P,!1),Object.keys(i).length>500&&g(this,P,!0),g(this,Q,!0),g(this,q,[]),g(this,I,{}),this.errors={},this.answerData={};const o=O(this,Nt,Kt).call(this,i);if(Object.keys(i).length<500){const n=o.map((u,l)=>O(this,_t,qt).call(this,u,o[l]));return Promise.allSettled(n).then(u=>{let l={};for(let y of u)y.status==="fulfilled"&&(l={...l,...y.value});return l})}else{let n={},u=0,l=1,y=Object.keys(i).length||1,f=r=>{u+=Object.keys(r).length,l=Math.round(u/y*100)};for(let[r,E]of Object.entries(o)){let M=await O(this,_t,qt).call(this,E,o[r],!0);f(E),e&&e({percent:l}),n={...n,...M}}return n}}async batchTotalCount(i,e){g(this,I,{}),this.errors={};let o=1,n=0,u=Object.keys(i).length||1,l=f=>{n+=Object.keys(f).length,o=Math.round(n/u*100)};e&&e({percent:o});const y=O(this,Nt,Kt).call(this,i);if(a(this,et)){const f=y.map(r=>O(this,Ot,Qt).call(this,r).then(E=>(l(r),e&&e({percent:o}),E)));return Promise.allSettled(f).then(r=>{let E={};for(let M of r)M.status==="fulfilled"&&(E={...E,...M.value});return E})}else{let f={};for(let r of y){let E=await O(this,Ot,Qt).call(this,r);l(r),e&&e({percent:o}),f={...f,...E}}return f}}}K=new WeakMap,ut=new WeakMap,q=new WeakMap,I=new WeakMap,k=new WeakMap,Q=new WeakMap,v=new WeakMap,B=new WeakMap,z=new WeakMap,Dt=new WeakMap,$=new WeakMap,P=new WeakMap,tt=new WeakMap,et=new WeakMap,at=new WeakSet,Xt=function(){let i=0;if(!a(this,B))return Math.round(i);let e=0,o=0;return Object.values(a(this,B)).forEach(n=>{const{total:u,count:l}=n;e+=u??0,o+=l??0}),e?i=o/e*100:i=100,{percent:Math.round(i),allCount:o,allTotal:e}},mt=new WeakSet,Vt=function(){clearInterval(a(this,z)),g(this,z,""),g(this,B,""),g(this,v,""),g(this,$,"no")},ft=new WeakSet,Zt=function({key:i,value:e}){const o=O(this,st,pt).call(this,e.data()),n=Array.isArray(o)?o.length:0,u=O(this,lt,kt).call(this,e.total(),n);let l=1;o&&(l=n),a(this,v)&&(a(this,B)||g(this,B,{}),a(this,B)[i]&&a(this,B)[i].count&&(l+=a(this,B)[i].count),a(this,B)[i]={total:u,count:l},a(this,z)||g(this,z,setInterval(()=>{const{percent:y,allCount:f,allTotal:r}=a(this,at,Xt);(a(this,$)==="no"||a(this,$)<a(this,at,Xt).percent)&&(a(this,v).call(this,{data:a(this,B),percent:y,allCount:f,allTotal:r}),g(this,$,a(this,at,Xt).percent)),y===100&&O(this,mt,Vt).call(this)},a(this,Dt))))},Nt=new WeakSet,Kt=function(i){const e=[],o=Object.entries(i);for(let n=0;n<o.length;n+=a(this,k)){const u=o.slice(n,n+a(this,k));e.push(Object.fromEntries(u))}return e},_t=new WeakSet,qt=function(i,e,o){return new Promise(n=>{const u=O(this,St,ee).call(this,e),l=[];let y=0,f=0;a(this,K).call(this,i,r=>{Object.entries(r).forEach(([E,M])=>{let m={};const N=M.error();if(N&&(this.errors[E]=N,y+=1),M!=null&&M.answer&&Object.keys(M.answer).length){for(let[ot,x]of Object.entries(M.answer))ot!="result"&&x&&(m[ot]=x);Object.keys(m).length&&(this.answerData[E]=m)}const F=O(this,st,pt).call(this,M.data()),Rt=Array.isArray(F)?F.length:0,nt=O(this,lt,kt).call(this,M.total(),Rt);if(Array.isArray(F)?a(this,I)[E]=F:typeof F=="object"&&F!==null?a(this,I)[E]=Object.values(F):a(this,I)[E]=F,f+=nt,o||O(this,ft,Zt).call(this,{key:E,value:M}),nt>a(this,k)&&nt>Rt){const ot=Math.ceil(nt/a(this,k))-1,x=Array.from({length:ot});l.push([E,u[E],x])}}),f>5e3&&a(this,tt)===!1&&a(this,et)===!1&&g(this,P,!0),y>0&&O(this,dt,se).call(this),l.length?(O(this,Ht,oe).call(this,l),O(this,Yt,he).call(this).then(()=>n(O(this,ct,jt).call(this)))):n(O(this,ct,jt).call(this))})})},Ot=new WeakSet,Qt=function(i){return new Promise(e=>{const o=O(this,St,ee).call(this,i);let n=0;a(this,K).call(this,o,u=>{Object.entries(u).forEach(([l,y])=>{const f=y.error();f&&(this.errors[l]=f,n+=1);const r=O(this,st,pt).call(this,y.data()),E=Array.isArray(r)?r.length:0,M=O(this,lt,kt).call(this,y.total(),E);a(this,I)[l]=M}),n>0&&O(this,dt,se).call(this),e(O(this,ct,jt).call(this))})})},Ht=new WeakSet,oe=function(i){let e=[];i.forEach(([o,n,u])=>{u.forEach((l,y)=>{const f=y+1,r=a(this,k)*f,M=[[o,f].join("_"),O(this,It,ae).call(this,n,r)];e.length===a(this,k)?(a(this,q).push(e),e=[M]):e.push(M)})}),e.length&&a(this,q).push(e)},Yt=new WeakSet,he=function(){const i=[],e=[],o=n=>{Object.entries(n).forEach(([u,l])=>{const[y]=u.split("_"),f=O(this,st,pt).call(this,l.data());Array.isArray(f)&&a(this,I)[y].push(...f),O(this,ft,Zt).call(this,{key:y,value:l})})};return a(this,q).forEach((n,u)=>{const l=Object.fromEntries(n),y=()=>new Promise(f=>a(this,K).call(this,l,r=>{a(this,P)?o(r):e[u]=r,f()}));i.push(y)}),a(this,P)?O(this,At,$t).call(this,i):O(this,Tt,te).call(this,i).then(()=>{e.forEach(o)})},yt=new WeakSet,vt=function(){return new Promise(i=>setTimeout(i,500))},At=new WeakSet,$t=function(i){if(!i.length)return Promise.resolve();const e=i.shift();return Promise.allSettled([e(),O(this,yt,vt).call(this)]).then(()=>a(this,Q)?O(this,At,$t).call(this,i):Promise.resolve())},Tt=new WeakSet,te=function(i){if(!i.length)return Promise.resolve();const e=i.shift();return O(this,yt,vt).call(this).then(()=>e()).then(()=>a(this,Q)?O(this,Tt,te).call(this,i):Promise.resolve())},ct=new WeakSet,jt=function(){return Object.entries(a(this,ut)).forEach(([i,e])=>{a(this,I)[i]&&(a(this,I)[i]=e(a(this,I)[i]))}),a(this,I)},St=new WeakSet,ee=function(i){return Object.entries(i).reduce((e,[o,n])=>{if(Array.isArray(n)){const[u,l={}]=n;e[o]=[u,l]}else{const{method:u,params:l={}}=n;e[o]=[u,l]}return e},{})},It=new WeakSet,ae=function(i,e){const[o,n]=i;return[o,{start:e,...n}]},st=new WeakSet,pt=function(i){return((i==null?void 0:i.items)||(i==null?void 0:i.documents))??i},lt=new WeakSet,kt=function(i,e){return i!==i&&(i=0),i===0&&e===0?0:i||e},dt=new WeakSet,se=function(){console.group(`${this.constructor.name}: Ошибки в методах!`),Object.entries(this.errors).forEach(([i,e])=>{console.info(`[${i}]`,e.toString())}),console.groupEnd()};class ie{constructor(){_(this,rt,{})}get hash(){return this.createHash(8)}createHash(i){let e="abcdefghijklmnopqrstuvwxyz0123456789",o="";i=i||6;for(let n=0;n<i;n++)o+=e.charAt(Math.floor(Math.random()*e.length));return o}actionFilter({keyTimer:i,duration:e=10,action:o}){a(this,rt)[i]&&(clearTimeout(a(this,rt)[i]),a(this,rt)[i]=null),o&&(a(this,rt)[i]=setTimeout(()=>{o()},e))}}rt=new WeakMap;const xt=new ie;class ne{constructor(){_(this,Bt);_(this,Et);_(this,Gt);_(this,wt);_(this,Ct);_(this,X,"logger");_(this,V,!1);_(this,Ut,2e3);_(this,it,new Map);_(this,gt,{});W(this,"periodClear",3);O(this,Bt,ce).call(this)}async init(){let i=new j(BX24.callBatch),{entityList:e}=await i.batch({entityList:{method:"entity.get"}});if(e!=null&&e.length)if(e.find(n=>n.ENTITY==a(this,X)))g(this,V,!0);else{let{entityAdd:n}=await i.batch({entityAdd:{method:"entity.add",params:{ENTITY:a(this,X),NAME:a(this,X),ACCESS:{AU:"X"}}}});n&&g(this,V,!0)}return O(this,wt,ue).call(this),a(this,V)}start({type:i,data:e}){if(!a(this,V)){O(this,Et,re).call(this,"entity");return}const o=xt.hash;return a(this,it).set(o,{type:i,data:e,userInfo:a(this,gt),errorList:[],status:"",answer:null,date:new Date().getTime()}),o}stop({key:i,errorList:e,status:o,answer:n}){if(!a(this,V)){O(this,Et,re).call(this,"entity");return}let u=a(this,it).get(i);e&&(u.errorList=e),o&&(u.status=o),n&&(u.answer=n),xt.actionFilter({keyTimer:"add.entity.items",duration:a(this,Ut),action:()=>{O(this,Gt,le).call(this)}})}async getEntityList(){let i=new j(BX24.callBatch),{entityList:e}=await i.batch({entityList:{method:"entity.item.get",params:{ENTITY:a(this,X),SORT:{ID:"DESC"}}}});return e=e.map(o=>{const{ID:n,DATE_CREATE:u,DETAIL_TEXT:l}=o;return{...JSON.parse(l),id:n,dateCreate:u}}),e}}X=new WeakMap,V=new WeakMap,Ut=new WeakMap,it=new WeakMap,gt=new WeakMap,Bt=new WeakSet,ce=async function(){const i=new j(BX24.callBatch),e=BX24.isAdmin(),{curUser:o}=await i.batch({curUser:{method:"user.current"}});g(this,gt,{isAdmin:e,curUser:o})},Et=new WeakSet,re=function(i){i=="entity"&&xt.actionFilter({keyTimer:"error.logger.entity",duration:500,action:()=>{console.error("Хранилище для логгера не инициализировано")}})},Gt=new WeakSet,le=async function(){let i={},e=new j(BX24.callBatch);for(let[o,n]of a(this,it).entries())n.status&&(i[o]={method:"entity.item.add",params:{ENTITY:a(this,X),NAME:a(this,X),DETAIL_TEXT:JSON.stringify(n)}});if(Object.keys(i).length){let o=await e.batch(i),{errors:n}=e;for(let[u,l]of Object.entries({...o,...n}))a(this,it).delete(u)}},wt=new WeakSet,ue=async function(){let i=new j(BX24.callBatch),e=await this.getEntityList(),{serverTime:o}=await i.batch({serverTime:{method:"server.time"}}),n=e.filter(u=>{let{dateCreate:l}=u;return bt(new Date(l)).between(bt(new Date(o)),"month")>=this.periodClear});O(this,Ct,me).call(this,n)},Ct=new WeakSet,me=async function(i){let e=new j(BX24.callBatch),o=i.map(n=>{let{id:u}=n;return{method:"entity.item.delete",params:{ENTITY:a(this,X),ID:u}}});return await e.batch(o)};const G=new ne;class Oe{constructor(i){_(this,Pt);_(this,Ft);W(this,"domain","");W(this,"isAdmin",!1);W(this,"appInfo",null);W(this,"appConst",null);W(this,"userInfo",null);W(this,"placeData",null);W(this,"placeInfo",null);this.appConst=i}init(){return new Promise(i=>{let e=setInterval(()=>{window.BX24&&BX24.init(async()=>{console.info("init BX24"),clearInterval(e),this.domain=BX24.getDomain(),this.isAdmin=BX24.isAdmin(),this.placeInfo=BX24.placement.info(),await G.init();const[o,n]=await Promise.all([O(this,Pt,fe).call(this),O(this,Ft,Ne).call(this)]);this.appInfo=o,this.userInfo=n,i(!0)})},100)})}userOption(i,e){return e?BX24.userOption.set(i,e):BX24.userOption.get(i)}call({method:i,params:e,updateList:o}){let n=G.start({type:"call",data:{method:i,params:e,updateList:o}});return new Promise(u=>{e||(e={}),BX24.callMethod(i,e,function(l){let y={};if(l!=null&&l.answer)for(let[f,r]of Object.entries(l.answer))f!="result"&&r&&(y[f]=r);if(l.error()){let f=l.error();console.error(f),G.stop({answer:y,key:n,status:"fail",errorList:[f.toSting()]}),u(!1)}else{let f=l.data();f!=null&&f.items&&(f=f.items),G.stop({answer:y,key:n,status:"success"}),u(f)}})})}async batch(i,e,{updateList:o}={}){let n=new j(BX24.callBatch),u=G.start({type:"batch",data:{commandList:i,updateList:o}});try{let l=await n.batch(i,e);if(Object.keys(n.errors).length){let y=Object.entries(n.errors).map(([f,r])=>({key:f,error:r.toSting()}));G.stop({key:u,status:"fail",errorList:y,answer:n.answerData})}else G.stop({key:u,status:"success",answer:n.answerData});return l}catch(l){return G.stop({key:u,status:"fail-runtime",errorList:[l.toSting()],answer:n.answerData}),console.error(l),!1}}async batchTotalCount(i,e){let o=new j(BX24.callBatch),n=G.start({type:"batch",data:{commandList:i}});try{let u=await o.batchTotalCount(i,e);if(Object.keys(o.errors).length){let l=Object.entries(o.errors).map(([y,f])=>({key:y,error:f.toSting()}));G.stop({key:n,status:"fail",errorList:l})}else G.stop({key:n,status:"success"});return u}catch(u){return G.stop({key:n,status:"fail",errorList:[u.toSting()]}),console.error(u),!1}}getPlacement(){return this.call({method:"placement.get"}).then(i=>(this.placeData||(this.placeData=i),i))}async placementBind(i){this.placeData||(this.placeData=await this.getPlacement());const{appName:e,pathApp:o}=this.appConst,n=this.placeData.map(l=>l.placement);let u=this.placeData.find(l=>l.placement==i);n.includes(i)?u.handler!=o&&(window.placementUnBind||(window.placementUnBind={}),window.placementUnBind[i]||this.placementUnBind(u).then(()=>{window.placementUnBind[i]||(window.placementUnBind[i]=!0,this.placementBind(i))})):this.call({method:"placement.bind",params:{PLACEMENT:i,HANDLER:o,LANG_ALL:{ru:{TITLE:e}}}}).then(l=>{l?console.info("Приложение успешно встроено в",i):console.warn("Приложение не может быть встроено в",i)})}placementUnBind(i){const{pathApp:e,appName:o}=this.appConst;return this.call({method:"placement.unbind",params:{PLACEMENT:i,HANDLER:e,LANG_ALL:{ru:{TITLE:o}}}}).then(n=>(console.log("Встройка отвязана",i),n))}getBotList(){return this.call({method:"imbot.bot.list",params:{}}).then(i=>{let e=Object.values(i);return console.log("chat-bot list:",e),e})}regBot({code:i,type:e,name:o}){const{appName:n,pathApp:u,chatBotLogo:l}=this.appConst,y=this.appInfo.ID;return this.call({method:"imbot.register",params:{CODE:i??this.appInfo.CODE,TYPE:e??"O",EVENT_HANDLER:u,OPENLINE:"Y",CLIENT_ID:"",PROPERTIES:{NAME:`${o??n} - бот #${y}`,LAST_NAME:"",COLOR:"GREEN",EMAIL:"",PERSONAL_BIRTHDAY:bt().format("%Y-%m-%d"),WORK_POSITION:"Почтальон",PERSONAL_WWW:"",PERSONAL_GENDER:"M",PERSONAL_PHOTO:l??""}}}).then(f=>(console.log("Чат-бот добавлен",f),f))}unRegBot(i){return this.call({method:"imbot.unregister",params:{BOT_ID:i}}).then(e=>(console.log("чат-бот удален",e),e))}}Pt=new WeakSet,fe=function(){return this.call({method:"app.info"})},Ft=new WeakSet,Ne=function(){return this.call({method:"user.current"})},T.Batch=j,T.BxBoot=Oe,T.BxHelper=ie,T.BxLogger=ne,T.tempus=bt,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
2
+ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`):s(JSON.parse(c.responseText))):h&&h(c))},c.open("GET",t,!1),c.send()},C={"%d":{format:function(t){return n(t.day()||r.MIN_DAY,2)},parse:function(t){var s=Number(t);return{day:isNaN(s)?e:s}},minLength:2,maxLength:2,type:"number"},"%m":{format:function(t){return n(t.month()||r.MIN_MONTH,2)},parse:function(t){var s=Number(t);return{month:isNaN(s)?e:s}},minLength:2,maxLength:2,type:"number"},"%Y":{format:function(t){return n(t.year()||r.MIN_YEAR,4)},parse:function(t){var s=Number(t);return{year:isNaN(s)?e:s}},minLength:4,maxLength:4,type:"number"},"%w":{format:function(t){return t.dayOfWeek()||r.MIN_DAY_OF_WEEK},parse:function(){return{}},minLength:1,maxLength:1,type:"number"},"%a":{format:function(t){var s=t.dayOfWeek();return Lt[s!==e?s:r.MIN_DAY_OF_WEEK]},parse:function(){return{}},minLength:1,maxLength:999,type:"word"},"%A":{format:function(t){var s=t.dayOfWeek();return Mt[s!==e?s:r.MIN_DAY_OF_WEEK]},parse:function(){return{}},minLength:1,maxLength:999,type:"word"},"%b":{format:function(t){var s=r.options("monthFromZero")?t.month():t.month()-1;return Jt[s!==e?s:r.MIN_MONTH]},parse:function(t){var s=r.monthNames().indexOf(t)+(r.options("monthFromZero")?0:1);return{month:s!==-1?s:e}},minLength:1,maxLength:999,type:"word"},"%B":{format:function(t){var s=r.options("monthFromZero")?t.month():t.month()-1;return x[s!==e?s:r.MIN_MONTH]},parse:function(t){var s=r.monthNames(!0).indexOf(t)+(r.options("monthFromZero")?0:1);return{month:s!==-1?s:e}},minLength:1,maxLength:999,type:"word"},"%H":{format:function(t){return n(t.hours()||r.MIN_HOURS,2)},parse:function(t){var s=Number(t);return{hours:isNaN(s)?e:s}},minLength:2,maxLength:2,type:"number"},"%M":{format:function(t){return n(t.minutes()||r.MIN_MINUTES,2)},parse:function(t){var s=Number(t);return{minutes:isNaN(s)?e:s}},minLength:2,maxLength:2,type:"number"},"%S":{format:function(t){return n(t.seconds()||r.MIN_SECONDS,2)},parse:function(t){var s=Number(t);return{seconds:isNaN(s)?e:s}},minLength:2,maxLength:2,type:"number"},"%s":{format:function(t){return t.timestamp()},parse:function(t){return isNaN(Number(t))?{}:r(Number(t)).get()},minLength:1,maxLength:20,type:"number"},"%F":{format:function(t){return n(t.year()||r.MIN_YEAR,4)+"-"+n(t.month()||r.MIN_MONTH,2)+"-"+n(t.day()||r.MIN_DAY,2)},parse:function(t){var s=Number(t.slice(0,4)),h=Number(t.slice(5,7)),c=Number(t.slice(8,10));return{year:s,month:h,day:c}},minLength:10,maxLength:10,type:"string"},"%D":{format:function(t){return n(t.month()||r.MIN_MONTH,2)+"/"+n(t.day()||r.MIN_DAY,2)+"/"+n(t.year()||r.MIN_YEAR,4)},parse:function(t){var s=Number(t.slice(0,2)),h=Number(t.slice(3,5)),c=Number(t.slice(6,10));return{year:c,month:s,day:h}},minLength:10,maxLength:10,type:"string"}},Wt={useMilliseconds:!1,monthFromZero:!1},d;d=function(t,s,h){return this._d=new Date,this._i={year:!1,month:!1,day:!1,hours:!1,minutes:!1,seconds:!1,milliseconds:!1},t!==e&&this.set(t,s,h),this},d.fn=d.prototype,d.fn.dayCount=function(){var t=this.month(),s=r.MAX_DAY_IN_MONTHS[t-(r.options("monthFromZero")?0:1)];return this.leapYear()&&t===(r.options("monthFromZero")?1:2)&&(s+=1),s},d.fn.year=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_YEAR&&Number(t)<=r.MAX_YEAR?(this._d.setFullYear(Number(t)),this._i.year=!1):this._i.year=Number(t):(this._d.setFullYear(r.MIN_YEAR),this._i.year=!1);else return this._i.year===!1?this._d.getFullYear():this._i.year;return this},d.fn.month=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_MONTH&&Number(t)<=r.MAX_MONTH?(this._d.setMonth(r.options("monthFromZero")?Number(t):Number(t)-1),this._i.month=!1):this._i.month=Number(t):(this._d.setMonth(r.options("monthFromZero")?r.MIN_MONTH:r.MIN_MONTH-1),this._i.month=!1);else return this._i.month===!1?r.options("monthFromZero")?this._d.getMonth():this._d.getMonth()+1:this._i.month;return this},d.fn.day=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_DAY&&Number(t)<=this.dayCount()?(this._d.setDate(Number(t)),this._i.day=!1):this._i.day=Number(t):(this._d.setDate(r.MIN_DAY),this._i.day=!1);else return this._i.day===!1?this._d.getDate():this._i.day;return this},d.fn.hours=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_HOURS&&Number(t)<=r.MAX_HOURS?(this._d.setHours(Number(t)),this._i.hours=!1):this._i.hours=Number(t):(this._d.setHours(r.MIN_HOURS),this._i.hours=!1);else return this._i.hours===!1?this._d.getHours():this._i.hours;return this},d.fn.minutes=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_MINUTES&&Number(t)<=r.MAX_MINUTES?(this._d.setMinutes(Number(t)),this._i.minutes=!1):this._i.minutes=Number(t):(this._d.setMinutes(r.MIN_MINUTES),this._i.minutes=!1);else return this._i.minutes===!1?this._d.getMinutes():this._i.minutes;return this},d.fn.seconds=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_SECONDS&&Number(t)<=r.MAX_SECONDS?(this._d.setSeconds(Number(t)),this._i.seconds=!1):this._i.seconds=Number(t):(this._d.setSeconds(r.MIN_SECONDS),this._i.seconds=!1);else return this._i.seconds===!1?this._d.getSeconds():this._i.seconds;return this},d.fn.milliseconds=function(t){if(arguments.length!==0)(typeof t=="number"||typeof t=="string")&&!isNaN(Number(t))?Number(t)>=r.MIN_MILLISECONDS&&Number(t)<=r.MAX_MILLISECONDS?(this._d.setMilliseconds(Number(t)),this._i.milliseconds=!1):this._i.milliseconds=Number(t):(this._d.setMilliseconds(r.MIN_MILLISECONDS),this._i.milliseconds=!1);else return this._i.milliseconds===!1?this._d.getMilliseconds():this._i.milliseconds;return this},d.fn.week=function(){var t=new Date(this.year(),0,1),s=r(this.utc()).hours(0).minutes(0).seconds(0).milliseconds(0).utc()*1e3;return Math.ceil(((s-t.getTime())/864e5+t.getDay()+1)/7)},d.fn.set=function(t,s,h){if(this._i={year:!1,month:!1,day:!1,hours:!1,minutes:!1,seconds:!1,milliseconds:!1},t===e)return this._d=new Date,this;if(t instanceof Date)return this._d=t,this;if(typeof t=="number")return this._d=new Date(t*(r.options("useMilliseconds")?1:1e3)),this;if(typeof t=="object"&&(t instanceof Array?(this.day(r.MIN_DAY),this.year(t[0]),this.month(t[1]),this.day(t[2]),this.hours(t[3]),this.minutes(t[4]),this.seconds(t[5]),this.milliseconds(t[6])):(this.day(r.MIN_DAY),this.year(t.year),this.month(t.month),this.day(t.day),this.hours(t.hours),this.minutes(t.minutes),this.seconds(t.seconds),this.milliseconds(t.milliseconds))),typeof t=="string"){var c,p=[],A,R,Z=[],Y=0,U=0,b,J,D={},H;if(t===e)return A=u(this,h),A===e&&(this._i={year:-1,month:-1,day:-1,hours:-1,minutes:-1,seconds:-1,milliseconds:-1}),A;for(s===e&&(s=r.detectFormat(t));Y<s.length;){if(s.charAt(Y)==="%"){if(R=s.charAt(Y)+s.charAt(Y+1),C[R]!==e){switch(b=0,J="",C[R].type){case"number":for(;b<C[R].maxLength&&U+b<t.length&&!isNaN(Number(t.charAt(U+b)));)J+=t.charAt(U+b),b+=1;break;case"word":for(;b<C[R].maxLength&&U+b<t.length&&/^[\u00BF-\u1FFF\u2C00-\uD7FF\w]+$/.test(t.charAt(U+b));)J+=t.charAt(U+b),b+=1;break;case"string":for(;b<C[R].maxLength&&U+b<t.length;)J+=t.charAt(U+b),b+=1;break}if(b<C[R].minLength)return A=u(this,h),A===e&&(this._i={year:-1,month:-1,day:-1,hours:-1,minutes:-1,seconds:-1,milliseconds:-1}),A;p.push(R),Z.push(J),b-=1,U+=b,Y+=1}}else if(t.charAt(U)!==s.charAt(Y))return A=u(this,h),A===e&&(this._i={year:-1,month:-1,day:-1,hours:-1,minutes:-1,seconds:-1,milliseconds:-1}),A;Y+=1,U+=1}for(c in p)p.hasOwnProperty(c)&&C.hasOwnProperty(p[c])&&(H=C[p[c]].parse(Z[c]),D={year:H.year!==e?H.year:D.year,month:H.month!==e?H.month:D.month,day:H.day!==e?H.day:D.day,hours:H.hours!==e?H.hours:D.hours,minutes:H.minutes!==e?H.minutes:D.minutes,seconds:H.seconds!==e?H.seconds:D.seconds});this.day(r.MIN_DAY),this.year(D.year),this.month(D.month),this.day(D.day),this.hours(D.hours),this.minutes(D.minutes),this.seconds(D.seconds),this.milliseconds(D.milliseconds)}return this},d.fn.leapYear=function(){var t=this.year();return t%4===0?t%100===0?t%400===0:!0:!1},d.fn.timestamp=function(t){return arguments.length!==0?(this._d=new Date(Number(t)*(r.options("useMilliseconds")?1:1e3)+this._d.getTimezoneOffset()*6e4),this):r.options("useMilliseconds")?this._d.getTime()-this._d.getTimezoneOffset()*6e4:Math.floor(this._d.getTime()/1e3)-this._d.getTimezoneOffset()*60},d.fn.utc=function(t){return arguments.length!==0?(this._d=new Date(Number(t)*(r.options("useMilliseconds")?1:1e3)),this):r.options("useMilliseconds")?this._d.getTime():Math.floor(this._d.getTime()/1e3)},d.fn.dayOfWeek=function(t){if(t==="long")return Mt[this._d.getDay()];if(t==="short")return Lt[this._d.getDay()];if(t===e)return this._d.getDay();if(t===0||t==="Sunday")return this.calc({day:-this.dayOfWeek()});if(t===1||t==="Monday")return this.calc({day:(this.dayOfWeek()===0?-6:1)-this.dayOfWeek()});if(t===2||t==="Tuesday")return this.calc({day:(this.dayOfWeek()===0?-5:2)-this.dayOfWeek()});if(t===3||t==="Wednesday")return this.calc({day:(this.dayOfWeek()===0?-4:3)-this.dayOfWeek()});if(t===4||t==="Thursday")return this.calc({day:(this.dayOfWeek()===0?-3:4)-this.dayOfWeek()});if(t===5||t==="Friday")return this.calc({day:(this.dayOfWeek()===0?-2:5)-this.dayOfWeek()});if(t===6||t==="Saturday")return this.calc({day:(this.dayOfWeek()===0?-1:6)-this.dayOfWeek()})},d.fn.timezone=function(t){switch(t){case"hours":return Math.floor(this._d.getTimezoneOffset()/60);case"minutes":return this._d.getTimezoneOffset();default:return this._d.getTimezoneOffset()*60}},d.fn.get=function(t){switch(t){case"Date":return new Date(this.year(),this.month()-(r.options("monthFromZero")?0:1),this.day(),this.hours(),this.minutes(),this.seconds(),this.milliseconds());case"DateUTC":return new Date(Date.UTC(this.year(),this.month()-(r.options("monthFromZero")?0:1),this.day(),this.hours(),this.minutes(),this.seconds(),this.milliseconds()));case"Array":return[this.year(),this.month(),this.day(),this.hours(),this.minutes(),this.seconds(),this.milliseconds()];default:return{year:this.year(),month:this.month(),week:this.week(),day:this.day(),hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds(),utc:this.utc(),dayOfWeek:this.dayOfWeek(),dayOfWeekShort:this.dayOfWeek("short"),dayOfWeekLong:this.dayOfWeek("long"),timestamp:this.timestamp()}}},d.fn.format=function(t){for(var s=0,h="",c;s<t.length;)t.charAt(s)==="%"?(c=t.charAt(s)+t.charAt(s+1),C[c]!==e?(h+=C[c].format(this),s+=1):h+="%"):h+=t.charAt(s),s+=1;return h},d.fn.valid=function(){return this._i.year===!1&&this._i.month===!1&&this._i.day===!1&&this._i.hours===!1&&this._i.minutes===!1&&this._i.seconds===!1&&this._i.milliseconds===!1},d.fn.errors=function(){return this._i},d.fn.between=function(t,s){var h=this.timestamp(),c=t.timestamp();switch(s){case"year":return Math.floor((c-h)/31556952);case"month":return Math.floor((c-h)/2629746);case"day":return Math.floor((c-h)/86400);case"hours":return Math.floor((c-h)/3600);case"minutes":return Math.floor((c-h)/60);case"seconds":return c-h;default:return e}},d.fn.calc=function(t){return t.year!==e&&this._d.setFullYear(this._d.getFullYear()+t.year),t.month!==e&&this._d.setMonth(this._d.getMonth()+t.month),t.day!==e&&this._d.setDate(this._d.getDate()+t.day),t.hours!==e&&this._d.setHours(this._d.getHours()+t.hours),t.minutes!==e&&this._d.setMinutes(this._d.getMinutes()+t.minutes),t.seconds!==e&&this._d.setSeconds(this._d.getSeconds()+t.seconds),t.milliseconds!==e&&this._d.setMilliseconds(this._d.getMilliseconds()+t.milliseconds),this},r=function(t,s,h){return new d(t,s,h)},r.MIN_YEAR=1e3,r.MAX_YEAR=3e3,r.MIN_MONTH=1,r.MAX_MONTH=12,r.MIN_DAY=1,r.MAX_DAY_IN_MONTHS=[31,28,31,30,31,30,31,31,30,31,30,31],r.MIN_DAY_OF_WEEK=0,r.MAX_DAY_OF_WEEK=6,r.MIN_HOURS=0,r.MAX_HOURS=23,r.MIN_MINUTES=0,r.MAX_MINUTES=59,r.MIN_SECONDS=0,r.MAX_SECONDS=59,r.MIN_MILLISECONDS=0,r.MAX_MILLISECONDS=999,r.VERSION="0.2.18",r.options=function(t,s){if(t===e)return Wt;if(Wt.hasOwnProperty(t)){if(s===e)return Wt[t];Wt[t]=s,t==="monthFromZero"&&(r.MIN_MONTH=s?0:1,r.MAX_MONTH=s?11:12)}return e},r.noConflict=function(){return o.tempus=f,r},r.generate=function(t){var s,h,c,p,A,R,Z,Y;if(typeof t.dateFrom!="number"&&(t.dateFrom instanceof d?s=t.dateFrom.utc():s=r(t.dateFrom,t.formatFrom).utc()),typeof t.dateTo!="number"&&(t.dateTo instanceof d?h=t.dateTo.utc():h=r(t.dateTo,t.formatTo!==e?t.formatTo:t.formatFrom).utc()),typeof t.period=="number"?A={year:0,month:0,day:0,hours:0,minutes:0,seconds:t.period}:typeof t.period=="string"?A={year:t.period==="year"?1:0,month:t.period==="month"?1:0,day:t.period==="day"?1:0,hours:t.period==="hours"?1:0,minutes:t.period==="minutes"?1:0,seconds:t.period==="seconds"?1:0}:typeof t.period=="object"&&(A={year:t.period.year!==e?t.period.year:0,month:t.period.month!==e?t.period.month:0,day:t.period.day!==e?t.period.day:0,hours:t.period.hours!==e?t.period.hours:0,minutes:t.period.minutes!==e?t.period.minutes:0,seconds:t.period.seconds!==e?t.period.seconds:0}),t.groupBy===e?R=t.asObject===!0?{}:[]:(R=[],R.push([]),Z=r(s).get()[t.groupBy]),Y=function(J,D,H){return t.asObject===!0?t.format!==e?J[r(D).format(t.format)]={}:J[r(D).format("%F %H:%M:%S")]={}:t.format!==e?J.push(H?null:r(D).format(t.format)):J.push(H?null:r(D)),J},t.groupBy!==e&&t.fillNulls){var U={year:A.year?-A.year:e,month:A.month?-A.month:e,day:A.day?-A.day:e,hours:A.hours?-A.hours:e,minutes:A.minutes?-A.minutes:e,seconds:A.seconds?-A.seconds:e,milliseconds:A.milliseconds?-A.milliseconds:e};for(c=r(s).calc(U).utc();r(c).get()[t.groupBy]===Z;)Y(R[R.length-1],c,!0),c=r(c).calc(U).utc();if(t.groupBy==="week"){var b=r(s).dayOfWeek();for(c=r(s).dayOfWeek(0).utc();R[0].length<b&&c<s;)Y(R[R.length-1],c,!0),c=r(c).calc(A).utc()}}for(;s<=h;)t.groupBy===e?Y(R,s):r(s).get()[t.groupBy]===Z?Y(R[R.length-1],s):(R.push([]),Y(R[R.length-1],s),Z=r(s).get()[t.groupBy]),s=r(s).calc(A).utc();if(t.groupBy!==e&&t.fillNulls)for(p=r(h).calc(A).utc();r(p).get()[t.groupBy]===Z;)Y(R[R.length-1],p,!0),p=r(p).calc(A).utc();return R},r.monthNames=function(t){switch(t){case"long":return x;default:return Jt}},r.dayNames=function(t){switch(t){case"long":return Mt;default:return Lt}},r.lang=function(t){if(t!==e)m=t,N[m]===e&&(m="en"),x=F(),Jt=Rt(),Mt=nt(),Lt=ot();else return m;return e},r.availableLangs=function(){return Object.keys(N)},r.registerFormat=function(t,s,h,c,p,A){C[t]={format:s,parse:h,minLength:c,maxLength:p,type:A}},r.unregisterFormat=function(t){delete C[t]},r.detectFormat=function(t){var s,h,c;return s=y(t,0),s!==""&&(c=10),h=t.charAt(c),(h==="T"||h===" ")&&(s+=h,c+=1),s+=l(t,c),s},E={TempusDate:d},r.classes=function(t,s){if(s===e)return E[t];E[t]=s},r.loadTranslations=function(t){typeof t=="object"?N=t:typeof t=="string"&&ye(t,function(s){N=s},function(s){})},m=(M.language||M.systemLanguage||M.userLanguage||"en").substr(0,2).toLowerCase(),N[m]===e&&(m="en"),x=F(),Jt=Rt(),Mt=nt(),Lt=ot(),w.exports&&(i=w.exports=r),i.tempus=r}).call(S)})(ht,ht.exports);var _e=ht.exports;const bt=L(_e);class j{constructor(i,e={}){_(this,at);_(this,mt);_(this,ft);_(this,Nt);_(this,_t);_(this,Ot);_(this,Ht);_(this,Yt);_(this,yt);_(this,At);_(this,Tt);_(this,ct);_(this,St);_(this,It);_(this,st);_(this,lt);_(this,dt);_(this,K,null);_(this,ut,null);_(this,q,[]);_(this,I,{});_(this,k,50);_(this,Q,!0);_(this,v,null);_(this,B,null);_(this,z,null);_(this,Dt,100);_(this,$,"no");_(this,P,!1);_(this,tt,!1);_(this,et,!1);W(this,"errors",{});W(this,"answerData",{});g(this,K,i),g(this,ut,e)}get serial(){return a(this,P)}setSerial(){g(this,P,!0),g(this,tt,!0),g(this,et,!1)}setParallel(){g(this,P,!1),g(this,tt,!1),g(this,et,!0)}stop(){g(this,Q,!1)}async batch(i,e){a(this,z)&&O(this,mt,Vt).call(this),e&&g(this,v,e),a(this,tt)===!1&&g(this,P,!1),Object.keys(i).length>500&&g(this,P,!0),g(this,Q,!0),g(this,q,[]),g(this,I,{}),this.errors={},this.answerData={};const o=O(this,Nt,Kt).call(this,i);if(Object.keys(i).length<500){const n=o.map((u,l)=>O(this,_t,qt).call(this,u,o[l]));return Promise.allSettled(n).then(u=>{let l={};for(let y of u)y.status==="fulfilled"&&(l={...l,...y.value});return l})}else{let n={},u=0,l=1,y=Object.keys(i).length||1,f=r=>{u+=Object.keys(r).length,l=Math.round(u/y*100)};for(let[r,E]of Object.entries(o)){let M=await O(this,_t,qt).call(this,E,o[r],!0);f(E),e&&e({percent:l}),n={...n,...M}}return n}}async batchTotalCount(i,e){g(this,I,{}),this.errors={};let o=1,n=0,u=Object.keys(i).length||1,l=f=>{n+=Object.keys(f).length,o=Math.round(n/u*100)};e&&e({percent:o});const y=O(this,Nt,Kt).call(this,i);if(a(this,et)){const f=y.map(r=>O(this,Ot,Qt).call(this,r).then(E=>(l(r),e&&e({percent:o}),E)));return Promise.allSettled(f).then(r=>{let E={};for(let M of r)M.status==="fulfilled"&&(E={...E,...M.value});return E})}else{let f={};for(let r of y){let E=await O(this,Ot,Qt).call(this,r);l(r),e&&e({percent:o}),f={...f,...E}}return f}}}K=new WeakMap,ut=new WeakMap,q=new WeakMap,I=new WeakMap,k=new WeakMap,Q=new WeakMap,v=new WeakMap,B=new WeakMap,z=new WeakMap,Dt=new WeakMap,$=new WeakMap,P=new WeakMap,tt=new WeakMap,et=new WeakMap,at=new WeakSet,Xt=function(){let i=0;if(!a(this,B))return Math.round(i);let e=0,o=0;return Object.values(a(this,B)).forEach(n=>{const{total:u,count:l}=n;e+=u??0,o+=l??0}),e?i=o/e*100:i=100,{percent:Math.round(i),allCount:o,allTotal:e}},mt=new WeakSet,Vt=function(){clearInterval(a(this,z)),g(this,z,""),g(this,B,""),g(this,v,""),g(this,$,"no")},ft=new WeakSet,Zt=function({key:i,value:e}){const o=O(this,st,pt).call(this,e.data()),n=Array.isArray(o)?o.length:0,u=O(this,lt,kt).call(this,e.total(),n);let l=1;o&&(l=n),a(this,v)&&(a(this,B)||g(this,B,{}),a(this,B)[i]&&a(this,B)[i].count&&(l+=a(this,B)[i].count),a(this,B)[i]={total:u,count:l},a(this,z)||g(this,z,setInterval(()=>{const{percent:y,allCount:f,allTotal:r}=a(this,at,Xt);(a(this,$)==="no"||a(this,$)<a(this,at,Xt).percent)&&(a(this,v).call(this,{data:a(this,B),percent:y,allCount:f,allTotal:r}),g(this,$,a(this,at,Xt).percent)),y===100&&O(this,mt,Vt).call(this)},a(this,Dt))))},Nt=new WeakSet,Kt=function(i){const e=[],o=Object.entries(i);for(let n=0;n<o.length;n+=a(this,k)){const u=o.slice(n,n+a(this,k));e.push(Object.fromEntries(u))}return e},_t=new WeakSet,qt=function(i,e,o){return new Promise(n=>{const u=O(this,St,ee).call(this,e),l=[];let y=0,f=0;a(this,K).call(this,i,r=>{Object.entries(r).forEach(([E,M])=>{let m={};const N=M.error();if(N&&(this.errors[E]=N,y+=1),M!=null&&M.answer&&Object.keys(M.answer).length){for(let[ot,x]of Object.entries(M.answer))ot!="result"&&x&&(m[ot]=x);Object.keys(m).length&&(this.answerData[E]=m)}const F=O(this,st,pt).call(this,M.data()),Rt=Array.isArray(F)?F.length:0,nt=O(this,lt,kt).call(this,M.total(),Rt);if(Array.isArray(F)?a(this,I)[E]=F:typeof F=="object"&&F!==null&&Object.keys(F).length===0?a(this,I)[E]=[]:a(this,I)[E]=F,f+=nt,o||O(this,ft,Zt).call(this,{key:E,value:M}),nt>a(this,k)&&nt>Rt){const ot=Math.ceil(nt/a(this,k))-1,x=Array.from({length:ot});l.push([E,u[E],x])}}),f>5e3&&a(this,tt)===!1&&a(this,et)===!1&&g(this,P,!0),y>0&&O(this,dt,se).call(this),l.length?(O(this,Ht,oe).call(this,l),O(this,Yt,he).call(this).then(()=>n(O(this,ct,jt).call(this)))):n(O(this,ct,jt).call(this))})})},Ot=new WeakSet,Qt=function(i){return new Promise(e=>{const o=O(this,St,ee).call(this,i);let n=0;a(this,K).call(this,o,u=>{Object.entries(u).forEach(([l,y])=>{const f=y.error();f&&(this.errors[l]=f,n+=1);const r=O(this,st,pt).call(this,y.data()),E=Array.isArray(r)?r.length:0,M=O(this,lt,kt).call(this,y.total(),E);a(this,I)[l]=M}),n>0&&O(this,dt,se).call(this),e(O(this,ct,jt).call(this))})})},Ht=new WeakSet,oe=function(i){let e=[];i.forEach(([o,n,u])=>{u.forEach((l,y)=>{const f=y+1,r=a(this,k)*f,M=[[o,f].join("_"),O(this,It,ae).call(this,n,r)];e.length===a(this,k)?(a(this,q).push(e),e=[M]):e.push(M)})}),e.length&&a(this,q).push(e)},Yt=new WeakSet,he=function(){const i=[],e=[],o=n=>{Object.entries(n).forEach(([u,l])=>{const[y]=u.split("_"),f=O(this,st,pt).call(this,l.data());Array.isArray(f)&&a(this,I)[y].push(...f),O(this,ft,Zt).call(this,{key:y,value:l})})};return a(this,q).forEach((n,u)=>{const l=Object.fromEntries(n),y=()=>new Promise(f=>a(this,K).call(this,l,r=>{a(this,P)?o(r):e[u]=r,f()}));i.push(y)}),a(this,P)?O(this,At,$t).call(this,i):O(this,Tt,te).call(this,i).then(()=>{e.forEach(o)})},yt=new WeakSet,vt=function(){return new Promise(i=>setTimeout(i,500))},At=new WeakSet,$t=function(i){if(!i.length)return Promise.resolve();const e=i.shift();return Promise.allSettled([e(),O(this,yt,vt).call(this)]).then(()=>a(this,Q)?O(this,At,$t).call(this,i):Promise.resolve())},Tt=new WeakSet,te=function(i){if(!i.length)return Promise.resolve();const e=i.shift();return O(this,yt,vt).call(this).then(()=>e()).then(()=>a(this,Q)?O(this,Tt,te).call(this,i):Promise.resolve())},ct=new WeakSet,jt=function(){return Object.entries(a(this,ut)).forEach(([i,e])=>{a(this,I)[i]&&(a(this,I)[i]=e(a(this,I)[i]))}),a(this,I)},St=new WeakSet,ee=function(i){return Object.entries(i).reduce((e,[o,n])=>{if(Array.isArray(n)){const[u,l={}]=n;e[o]=[u,l]}else{const{method:u,params:l={}}=n;e[o]=[u,l]}return e},{})},It=new WeakSet,ae=function(i,e){const[o,n]=i;return[o,{start:e,...n}]},st=new WeakSet,pt=function(i){return((i==null?void 0:i.items)||(i==null?void 0:i.documents))??i},lt=new WeakSet,kt=function(i,e){return i!==i&&(i=0),i===0&&e===0?0:i||e},dt=new WeakSet,se=function(){console.group(`${this.constructor.name}: Ошибки в методах!`),Object.entries(this.errors).forEach(([i,e])=>{console.info(`[${i}]`,e.toString())}),console.groupEnd()};class ie{constructor(){_(this,rt,{})}get hash(){return this.createHash(8)}createHash(i){let e="abcdefghijklmnopqrstuvwxyz0123456789",o="";i=i||6;for(let n=0;n<i;n++)o+=e.charAt(Math.floor(Math.random()*e.length));return o}actionFilter({keyTimer:i,duration:e=10,action:o}){a(this,rt)[i]&&(clearTimeout(a(this,rt)[i]),a(this,rt)[i]=null),o&&(a(this,rt)[i]=setTimeout(()=>{o()},e))}}rt=new WeakMap;const xt=new ie;class ne{constructor(){_(this,Bt);_(this,Et);_(this,Gt);_(this,wt);_(this,Ct);_(this,X,"logger");_(this,V,!1);_(this,Ut,2e3);_(this,it,new Map);_(this,gt,{});W(this,"periodClear",3);O(this,Bt,ce).call(this)}async init(){let i=new j(BX24.callBatch),{entityList:e}=await i.batch({entityList:{method:"entity.get"}});if(e!=null&&e.length)if(e.find(n=>n.ENTITY==a(this,X)))g(this,V,!0);else{let{entityAdd:n}=await i.batch({entityAdd:{method:"entity.add",params:{ENTITY:a(this,X),NAME:a(this,X),ACCESS:{AU:"X"}}}});n&&g(this,V,!0)}return O(this,wt,ue).call(this),a(this,V)}start({type:i,data:e}){if(!a(this,V)){O(this,Et,re).call(this,"entity");return}const o=xt.hash;return a(this,it).set(o,{type:i,data:e,userInfo:a(this,gt),errorList:[],status:"",answer:null,date:new Date().getTime()}),o}stop({key:i,errorList:e,status:o,answer:n}){if(!a(this,V)){O(this,Et,re).call(this,"entity");return}let u=a(this,it).get(i);e&&(u.errorList=e),o&&(u.status=o),n&&(u.answer=n),xt.actionFilter({keyTimer:"add.entity.items",duration:a(this,Ut),action:()=>{O(this,Gt,le).call(this)}})}async getEntityList(){let i=new j(BX24.callBatch),{entityList:e}=await i.batch({entityList:{method:"entity.item.get",params:{ENTITY:a(this,X),SORT:{ID:"DESC"}}}});return e=e.map(o=>{const{ID:n,DATE_CREATE:u,DETAIL_TEXT:l}=o;return{...JSON.parse(l),id:n,dateCreate:u}}),e}}X=new WeakMap,V=new WeakMap,Ut=new WeakMap,it=new WeakMap,gt=new WeakMap,Bt=new WeakSet,ce=async function(){const i=new j(BX24.callBatch),e=BX24.isAdmin(),{curUser:o}=await i.batch({curUser:{method:"user.current"}});g(this,gt,{isAdmin:e,curUser:o})},Et=new WeakSet,re=function(i){i=="entity"&&xt.actionFilter({keyTimer:"error.logger.entity",duration:500,action:()=>{console.error("Хранилище для логгера не инициализировано")}})},Gt=new WeakSet,le=async function(){let i={},e=new j(BX24.callBatch);for(let[o,n]of a(this,it).entries())n.status&&(i[o]={method:"entity.item.add",params:{ENTITY:a(this,X),NAME:a(this,X),DETAIL_TEXT:JSON.stringify(n)}});if(Object.keys(i).length){let o=await e.batch(i),{errors:n}=e;for(let[u,l]of Object.entries({...o,...n}))a(this,it).delete(u)}},wt=new WeakSet,ue=async function(){let i=new j(BX24.callBatch),e=await this.getEntityList(),{serverTime:o}=await i.batch({serverTime:{method:"server.time"}}),n=e.filter(u=>{let{dateCreate:l}=u;return bt(new Date(l)).between(bt(new Date(o)),"month")>=this.periodClear});O(this,Ct,me).call(this,n)},Ct=new WeakSet,me=async function(i){let e=new j(BX24.callBatch),o=i.map(n=>{let{id:u}=n;return{method:"entity.item.delete",params:{ENTITY:a(this,X),ID:u}}});return await e.batch(o)};const G=new ne;class Oe{constructor(i){_(this,Pt);_(this,Ft);W(this,"domain","");W(this,"isAdmin",!1);W(this,"appInfo",null);W(this,"appConst",null);W(this,"userInfo",null);W(this,"placeData",null);W(this,"placeInfo",null);this.appConst=i}init(){return new Promise(i=>{let e=setInterval(()=>{window.BX24&&BX24.init(async()=>{console.info("init BX24"),clearInterval(e),this.domain=BX24.getDomain(),this.isAdmin=BX24.isAdmin(),this.placeInfo=BX24.placement.info(),await G.init();const[o,n]=await Promise.all([O(this,Pt,fe).call(this),O(this,Ft,Ne).call(this)]);this.appInfo=o,this.userInfo=n,i(!0)})},100)})}userOption(i,e){return e?BX24.userOption.set(i,e):BX24.userOption.get(i)}call({method:i,params:e,updateList:o}){let n=G.start({type:"call",data:{method:i,params:e,updateList:o}});return new Promise(u=>{e||(e={}),BX24.callMethod(i,e,function(l){let y={};if(l!=null&&l.answer)for(let[f,r]of Object.entries(l.answer))f!="result"&&r&&(y[f]=r);if(l.error()){let f=l.error();console.error(f),G.stop({answer:y,key:n,status:"fail",errorList:[f.toSting()]}),u(!1)}else{let f=l.data();f!=null&&f.items&&(f=f.items),G.stop({answer:y,key:n,status:"success"}),u(f)}})})}async batch(i,e,{updateList:o}={}){let n=new j(BX24.callBatch),u=G.start({type:"batch",data:{commandList:i,updateList:o}});try{let l=await n.batch(i,e);if(Object.keys(n.errors).length){let y=Object.entries(n.errors).map(([f,r])=>({key:f,error:r.toSting()}));G.stop({key:u,status:"fail",errorList:y,answer:n.answerData})}else G.stop({key:u,status:"success",answer:n.answerData});return l}catch(l){return G.stop({key:u,status:"fail-runtime",errorList:[l.toSting()],answer:n.answerData}),console.error(l),!1}}async batchTotalCount(i,e){let o=new j(BX24.callBatch),n=G.start({type:"batch",data:{commandList:i}});try{let u=await o.batchTotalCount(i,e);if(Object.keys(o.errors).length){let l=Object.entries(o.errors).map(([y,f])=>({key:y,error:f.toSting()}));G.stop({key:n,status:"fail",errorList:l})}else G.stop({key:n,status:"success"});return u}catch(u){return G.stop({key:n,status:"fail",errorList:[u.toSting()]}),console.error(u),!1}}getPlacement(){return this.call({method:"placement.get"}).then(i=>(this.placeData||(this.placeData=i),i))}async placementBind(i){this.placeData||(this.placeData=await this.getPlacement());const{appName:e,pathApp:o}=this.appConst,n=this.placeData.map(l=>l.placement);let u=this.placeData.find(l=>l.placement==i);n.includes(i)?u.handler!=o&&(window.placementUnBind||(window.placementUnBind={}),window.placementUnBind[i]||this.placementUnBind(u).then(()=>{window.placementUnBind[i]||(window.placementUnBind[i]=!0,this.placementBind(i))})):this.call({method:"placement.bind",params:{PLACEMENT:i,HANDLER:o,LANG_ALL:{ru:{TITLE:e}}}}).then(l=>{l?console.info("Приложение успешно встроено в",i):console.warn("Приложение не может быть встроено в",i)})}placementUnBind(i){const{pathApp:e,appName:o}=this.appConst;return this.call({method:"placement.unbind",params:{PLACEMENT:i,HANDLER:e,LANG_ALL:{ru:{TITLE:o}}}}).then(n=>(console.log("Встройка отвязана",i),n))}getBotList(){return this.call({method:"imbot.bot.list",params:{}}).then(i=>{let e=Object.values(i);return console.log("chat-bot list:",e),e})}regBot({code:i,type:e,name:o}){const{appName:n,pathApp:u,chatBotLogo:l}=this.appConst,y=this.appInfo.ID;return this.call({method:"imbot.register",params:{CODE:i??this.appInfo.CODE,TYPE:e??"O",EVENT_HANDLER:u,OPENLINE:"Y",CLIENT_ID:"",PROPERTIES:{NAME:`${o??n} - бот #${y}`,LAST_NAME:"",COLOR:"GREEN",EMAIL:"",PERSONAL_BIRTHDAY:bt().format("%Y-%m-%d"),WORK_POSITION:"Почтальон",PERSONAL_WWW:"",PERSONAL_GENDER:"M",PERSONAL_PHOTO:l??""}}}).then(f=>(console.log("Чат-бот добавлен",f),f))}unRegBot(i){return this.call({method:"imbot.unregister",params:{BOT_ID:i}}).then(e=>(console.log("чат-бот удален",e),e))}}Pt=new WeakSet,fe=function(){return this.call({method:"app.info"})},Ft=new WeakSet,Ne=function(){return this.call({method:"user.current"})},T.Batch=j,T.BxBoot=Oe,T.BxHelper=ie,T.BxLogger=ne,T.tempus=bt,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "szdl-utils-kit",
3
3
  "description": "utils-kit library",
4
4
  "private": false,
5
- "version": "0.2.4",
5
+ "version": "0.2.5",
6
6
  "type": "module",
7
7
  "author": "Stanislav Ovv",
8
8
  "license": "BSD",