Built motion from commit 9d0783e6.|2.6.13
[motion2.git] / server / utils / iftime.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xc2bd=['indexOf','slice','concat','exports','circularDoWInterval','monthsShort','circularMonthInterval','clone','hours','minutes','isBefore','startOf','day','isBetween','timeCompare','format','ddd','includes','dowCompare','date','daysInMonth','max','min','domCompare','MMM','monthCompare','guess','test','isMoment','padStart','length','lodash','moment-timezone','map','source','Interval\x20string\x20not\x20valid','Date\x20not\x20valid','split','locale','weekdaysShort','toLowerCase'];(function(_0x58220b,_0x502089){var _0x2125a6=function(_0x41ab7d){while(--_0x41ab7d){_0x58220b['push'](_0x58220b['shift']());}};_0x2125a6(++_0x502089);}(_0xc2bd,0x13e));var _0xdc2b=function(_0xf6c032,_0x3515ad){_0xf6c032=_0xf6c032-0x0;var _0x5da177=_0xc2bd[_0xf6c032];return _0x5da177;};var _=require(_0xdc2b('0x0'));var moment=require(_0xdc2b('0x1'));var timeRx=/(\*|(\d{1,2}:\d{1,2})(-(\d{1,2}:\d{1,2}))?)/;var dowRx=/(\*|((sun|mon|tue|wed|thu|fri|sat)(-(sun|mon|tue|wed|thu|fri|sat))?))/;var domRx=/(\*|(\d{1,2})(-(\d{1,2}))?)/;var moyRx=/(\*|(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)(-(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec))?)/;var globalRx=[timeRx,dowRx,domRx,moyRx][_0xdc2b('0x2')](function(_0x491c7f){return _0x491c7f[_0xdc2b('0x3')];})['join'](',');var validateRx=new RegExp('^'+globalRx+'$');var EINVALID_STRING=_0xdc2b('0x4');var EINVALID_DATE=_0xdc2b('0x5');function throwIfDateNotValid(_0x4f6795){if(!_0x4f6795['isValid']()){throw new Error(EINVALID_DATE);}}function extractTime(_0x5cc7b5){var _0x2f8d7c=_0x5cc7b5[_0xdc2b('0x6')](':')[_0xdc2b('0x2')](function(_0x3042de){return parseInt(_0x3042de,0xa);});var _0x3cc44f=_0x2f8d7c[0x0];var _0x5e66f1=_0x2f8d7c[0x1];if(_0x3cc44f<0x0||_0x3cc44f>0x17||_0x5e66f1<0x0||_0x5e66f1>0x3b){throw new Error(EINVALID_DATE);}return[_0x3cc44f,_0x5e66f1];}function circularDoWInterval(_0x8b140,_0x21fa32){if(_0x8b140===_0x21fa32){return[_0x8b140];}else{var _0x7f2876=moment[_0xdc2b('0x7')]();moment[_0xdc2b('0x7')]('en');var _0x59aafc=moment[_0xdc2b('0x8')]()['map'](function(_0x42b8fd){return _0x42b8fd[_0xdc2b('0x9')]();});moment[_0xdc2b('0x7')](_0x7f2876);var _0x3e53a1=_0x59aafc['indexOf'](_0x8b140);var _0x1739b2=_0x59aafc[_0xdc2b('0xa')](_0x21fa32);if(_0x1739b2>_0x3e53a1){return _0x59aafc['slice'](_0x3e53a1,_0x1739b2+0x1);}else{var _0x52fcdf=_0x59aafc[_0xdc2b('0xb')](0x0,_0x1739b2+0x1);var _0x31ee7f=_0x59aafc[_0xdc2b('0xb')](_0x3e53a1);return _0x31ee7f[_0xdc2b('0xc')](_0x52fcdf);}}}module[_0xdc2b('0xd')][_0xdc2b('0xe')]=circularDoWInterval;function circularMonthInterval(_0x431fb1,_0x2bf8dc){if(_0x431fb1===_0x2bf8dc){return[_0x431fb1];}else{var _0x44ac59=moment[_0xdc2b('0x7')]();moment[_0xdc2b('0x7')]('en');var _0x4d76b9=moment[_0xdc2b('0xf')]()[_0xdc2b('0x2')](function(_0x18b566){return _0x18b566['toLowerCase']();});moment[_0xdc2b('0x7')](_0x44ac59);var _0x181e8b=_0x4d76b9[_0xdc2b('0xa')](_0x431fb1);var _0x29d1b0=_0x4d76b9[_0xdc2b('0xa')](_0x2bf8dc);if(_0x29d1b0>_0x181e8b){return _0x4d76b9[_0xdc2b('0xb')](_0x181e8b,_0x29d1b0+0x1);}else{var _0xc102f0=_0x4d76b9['slice'](0x0,_0x29d1b0+0x1);var _0x26bd9b=_0x4d76b9[_0xdc2b('0xb')](_0x181e8b);return _0x26bd9b[_0xdc2b('0xc')](_0xc102f0);}}}module[_0xdc2b('0xd')][_0xdc2b('0x10')]=circularMonthInterval;function parseDom(_0x487036){var _0x67b6f=parseInt(_0x487036,0xa);if(_0x67b6f<0x1||_0x67b6f>0x1f){throw new Error(EINVALID_DATE);}return _0x67b6f;}function timeCompare(_0x5e5f8a,_0x2d7ac0,_0xf2b8ad){var _0x11c4da=_0x5e5f8a[_0xdc2b('0x11')]();var _0x2d0374=extractTime(_0x2d7ac0);var _0x189396=_0x2d0374[0x0];var _0x226786=_0x2d0374[0x1];var _0x137069=_0x5e5f8a[_0xdc2b('0x11')]()[_0xdc2b('0x12')](_0x189396)[_0xdc2b('0x13')](_0x226786);throwIfDateNotValid(_0x137069);var _0x55c1f4=extractTime(_0xf2b8ad);var _0x457ace=_0x55c1f4[0x0];var _0x38d4ef=_0x55c1f4[0x1];var _0x337ec0=_0x5e5f8a['clone']()[_0xdc2b('0x12')](_0x457ace)['minutes'](_0x38d4ef);throwIfDateNotValid(_0x337ec0);if(_0x337ec0[_0xdc2b('0x14')](_0x137069)){var _0x1922be=_0x11c4da[_0xdc2b('0x11')]()[_0xdc2b('0x15')]('day');var _0x1b6fb8=_0x11c4da[_0xdc2b('0x11')]()['endOf'](_0xdc2b('0x16'));return _0x11c4da[_0xdc2b('0x17')](_0x137069,_0x1b6fb8,undefined,'[]')||_0x11c4da[_0xdc2b('0x17')](_0x1922be,_0x337ec0,undefined,'[]');}else{return _0x11c4da[_0xdc2b('0x17')](_0x137069,_0x337ec0,undefined,'[]');}}module[_0xdc2b('0xd')][_0xdc2b('0x18')]=timeCompare;function dowCompare(_0x4d08e6,_0x3646d9,_0x31a8c0){var _0xc7a89d=_0x4d08e6[_0xdc2b('0x7')]('en')[_0xdc2b('0x19')](_0xdc2b('0x1a'))[_0xdc2b('0x9')]();return circularDoWInterval(_0x3646d9,_0x31a8c0)[_0xdc2b('0x1b')](_0xc7a89d);}module['exports'][_0xdc2b('0x1c')]=dowCompare;function domCompare(_0x336a70,_0x1f5403,_0x547340){var _0x448a97=_0x336a70[_0xdc2b('0x1d')]();if(_0x1f5403===_0x547340){return _0x448a97===_0x1f5403;}else{var _0x45771d=_0x336a70[_0xdc2b('0x1e')]();var _0x160314=_0x1f5403<_0x547340;let _0x37767d=![];var _0x4eae6b=0x0;var _0xbdf53a=0x0;if(_0x160314){_0x4eae6b=Math[_0xdc2b('0x1f')](0x1,_0x1f5403);_0xbdf53a=Math[_0xdc2b('0x20')](_0x547340,_0x45771d);_0x37767d=_0x448a97>=_0x4eae6b&&_0x448a97<=_0xbdf53a;}else{_0x4eae6b=Math[_0xdc2b('0x20')](_0x1f5403,_0x45771d);_0xbdf53a=Math['max'](0x1,_0x547340);_0x37767d=_0x448a97>=_0x4eae6b||_0x448a97<=_0xbdf53a;}return _0x37767d;}}module[_0xdc2b('0xd')][_0xdc2b('0x21')]=domCompare;function monthCompare(_0x19b3c5,_0x5ea14f,_0x454bb2){var _0x5379a8=_0x19b3c5['locale']('en')[_0xdc2b('0x19')](_0xdc2b('0x22'))[_0xdc2b('0x9')]();return circularMonthInterval(_0x5ea14f,_0x454bb2)['includes'](_0x5379a8);}module[_0xdc2b('0xd')][_0xdc2b('0x23')]=monthCompare;function iftime(_0x438695,_0x356ca7=moment['tz'][_0xdc2b('0x24')](),_0x54b7d0=moment()){if(!validateRx[_0xdc2b('0x25')](_0x438695)){throw new Error(EINVALID_STRING);}else{var _0x13eafe=(moment[_0xdc2b('0x26')](_0x54b7d0)?_0x54b7d0['clone']():moment(_0x54b7d0))['tz'](_0x356ca7)[_0xdc2b('0x7')]('en');throwIfDateNotValid(_0x13eafe);var _0x32e639=_0x438695[_0xdc2b('0x6')](',');var _0x1a3d09=_0x32e639[0x0];var _0x43f713=_0x32e639[0x1];var _0x25d81c=_0x32e639[0x2];var _0x12800a=_0x32e639[0x3];let _0x3e21ea=!![];if(_0x1a3d09!=='*'){var _0x54a6de=_0x1a3d09[_0xdc2b('0x6')]('-');var _0x48be1=_[_0xdc2b('0x27')](_0x54a6de[0x0],0x5,'0');var _0x39e602=_0x54a6de[_0xdc2b('0x28')]===0x2?_['padStart'](_0x54a6de[0x1],0x5,'0'):_0x48be1;_0x3e21ea=timeCompare(_0x13eafe,_0x48be1,_0x39e602);}let _0x48cfa9=!![];if(_0x43f713!=='*'){var _0x261b57=_0x43f713[_0xdc2b('0x6')]('-');var _0x53a977=_0x261b57[0x0];var _0x2ca6ab=_0x261b57[_0xdc2b('0x28')]===0x2?_0x261b57[0x1]:_0x53a977;_0x48cfa9=dowCompare(_0x13eafe,_0x53a977,_0x2ca6ab);}let _0x49e50a=!![];if(_0x25d81c!=='*'){var _0x48fb2a=_0x25d81c[_0xdc2b('0x6')]('-');var _0x16438a=parseDom(_0x48fb2a[0x0]);var _0x49cd32=_0x48fb2a[_0xdc2b('0x28')]===0x2?parseDom(_0x48fb2a[0x1]):_0x16438a;_0x49e50a=domCompare(_0x13eafe,_0x16438a,_0x49cd32);}let _0x3546d1=!![];if(_0x12800a!=='*'){var _0x20c949=_0x12800a['split']('-');var _0x35ef0d=_0x20c949[0x0];var _0x3de325=_0x20c949[_0xdc2b('0x28')]===0x2?_0x20c949[0x1]:_0x20c949[0x0];_0x3546d1=monthCompare(_0x13eafe,_0x35ef0d,_0x3de325);}return _0x3e21ea&&_0x48cfa9&&_0x49e50a&&_0x3546d1;}}module['exports']['iftime']=iftime;