Built motion from commit 64440dd5.|2.6.29
[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 _0xbcbb=['timeCompare','ddd','includes','dowCompare','daysInMonth','max','min','domCompare','format','monthCompare','guess','test','isMoment','padStart','length','iftime','lodash','moment-timezone','Interval\x20string\x20not\x20valid','Date\x20not\x20valid','isValid','split','locale','weekdaysShort','map','toLowerCase','indexOf','slice','concat','exports','circularDoWInterval','monthsShort','circularMonthInterval','clone','minutes','isBefore','day','isBetween'];(function(_0x301c2b,_0x436065){var _0x3353c3=function(_0x54ba30){while(--_0x54ba30){_0x301c2b['push'](_0x301c2b['shift']());}};_0x3353c3(++_0x436065);}(_0xbcbb,0x1b2));var _0xbbcb=function(_0x27e321,_0x222eb5){_0x27e321=_0x27e321-0x0;var _0x19ac6c=_0xbcbb[_0x27e321];return _0x19ac6c;};var _=require(_0xbbcb('0x0'));var moment=require(_0xbbcb('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]['map'](function(_0x2a2986){return _0x2a2986['source'];})['join'](',');var validateRx=new RegExp('^'+globalRx+'$');var EINVALID_STRING=_0xbbcb('0x2');var EINVALID_DATE=_0xbbcb('0x3');function throwIfDateNotValid(_0x14db56){if(!_0x14db56[_0xbbcb('0x4')]()){throw new Error(EINVALID_DATE);}}function extractTime(_0x45b093){var _0x4b919d=_0x45b093[_0xbbcb('0x5')](':')['map'](function(_0x519522){return parseInt(_0x519522,0xa);});var _0x4ef10d=_0x4b919d[0x0];var _0x3d1e41=_0x4b919d[0x1];if(_0x4ef10d<0x0||_0x4ef10d>0x17||_0x3d1e41<0x0||_0x3d1e41>0x3b){throw new Error(EINVALID_DATE);}return[_0x4ef10d,_0x3d1e41];}function circularDoWInterval(_0x3666c9,_0x4b629a){if(_0x3666c9===_0x4b629a){return[_0x3666c9];}else{var _0x98e9b4=moment['locale']();moment[_0xbbcb('0x6')]('en');var _0x43d334=moment[_0xbbcb('0x7')]()[_0xbbcb('0x8')](function(_0x118729){return _0x118729[_0xbbcb('0x9')]();});moment['locale'](_0x98e9b4);var _0x1cf5d8=_0x43d334['indexOf'](_0x3666c9);var _0x3d7e04=_0x43d334[_0xbbcb('0xa')](_0x4b629a);if(_0x3d7e04>_0x1cf5d8){return _0x43d334[_0xbbcb('0xb')](_0x1cf5d8,_0x3d7e04+0x1);}else{var _0x5beb64=_0x43d334['slice'](0x0,_0x3d7e04+0x1);var _0x4bae39=_0x43d334[_0xbbcb('0xb')](_0x1cf5d8);return _0x4bae39[_0xbbcb('0xc')](_0x5beb64);}}}module[_0xbbcb('0xd')][_0xbbcb('0xe')]=circularDoWInterval;function circularMonthInterval(_0x4b80fa,_0x189f12){if(_0x4b80fa===_0x189f12){return[_0x4b80fa];}else{var _0xcae222=moment[_0xbbcb('0x6')]();moment['locale']('en');var _0x494b35=moment[_0xbbcb('0xf')]()[_0xbbcb('0x8')](function(_0x5d34bf){return _0x5d34bf[_0xbbcb('0x9')]();});moment[_0xbbcb('0x6')](_0xcae222);var _0x34ad18=_0x494b35['indexOf'](_0x4b80fa);var _0x2c66d=_0x494b35[_0xbbcb('0xa')](_0x189f12);if(_0x2c66d>_0x34ad18){return _0x494b35[_0xbbcb('0xb')](_0x34ad18,_0x2c66d+0x1);}else{var _0x31bdbc=_0x494b35[_0xbbcb('0xb')](0x0,_0x2c66d+0x1);var _0x34274f=_0x494b35['slice'](_0x34ad18);return _0x34274f['concat'](_0x31bdbc);}}}module[_0xbbcb('0xd')][_0xbbcb('0x10')]=circularMonthInterval;function parseDom(_0x5e0c38){var _0x107c6b=parseInt(_0x5e0c38,0xa);if(_0x107c6b<0x1||_0x107c6b>0x1f){throw new Error(EINVALID_DATE);}return _0x107c6b;}function timeCompare(_0x40a953,_0x5947ed,_0x1bde19){var _0x432cc7=_0x40a953[_0xbbcb('0x11')]();var _0x3c925d=extractTime(_0x5947ed);var _0x26fd18=_0x3c925d[0x0];var _0x362ce9=_0x3c925d[0x1];var _0x360a6c=_0x40a953[_0xbbcb('0x11')]()['hours'](_0x26fd18)['minutes'](_0x362ce9);throwIfDateNotValid(_0x360a6c);var _0x3ea6e1=extractTime(_0x1bde19);var _0x275275=_0x3ea6e1[0x0];var _0xb905df=_0x3ea6e1[0x1];var _0x193fb5=_0x40a953[_0xbbcb('0x11')]()['hours'](_0x275275)[_0xbbcb('0x12')](_0xb905df);throwIfDateNotValid(_0x193fb5);if(_0x193fb5[_0xbbcb('0x13')](_0x360a6c)){var _0x1ad8fc=_0x432cc7[_0xbbcb('0x11')]()['startOf'](_0xbbcb('0x14'));var _0x2444c5=_0x432cc7[_0xbbcb('0x11')]()['endOf'](_0xbbcb('0x14'));return _0x432cc7[_0xbbcb('0x15')](_0x360a6c,_0x2444c5,undefined,'[]')||_0x432cc7[_0xbbcb('0x15')](_0x1ad8fc,_0x193fb5,undefined,'[]');}else{return _0x432cc7[_0xbbcb('0x15')](_0x360a6c,_0x193fb5,undefined,'[]');}}module[_0xbbcb('0xd')][_0xbbcb('0x16')]=timeCompare;function dowCompare(_0xb94b2e,_0x2a3e9a,_0x1cfeee){var _0x4d5458=_0xb94b2e['locale']('en')['format'](_0xbbcb('0x17'))[_0xbbcb('0x9')]();return circularDoWInterval(_0x2a3e9a,_0x1cfeee)[_0xbbcb('0x18')](_0x4d5458);}module[_0xbbcb('0xd')][_0xbbcb('0x19')]=dowCompare;function domCompare(_0xb6a7a0,_0x1822a5,_0x1c3f0d){var _0x1de31a=_0xb6a7a0['date']();if(_0x1822a5===_0x1c3f0d){return _0x1de31a===_0x1822a5;}else{var _0x2f1136=_0xb6a7a0[_0xbbcb('0x1a')]();var _0x1904c0=_0x1822a5<_0x1c3f0d;let _0x2ff609=![];var _0x2b7289=0x0;var _0x3cbdd1=0x0;if(_0x1904c0){_0x2b7289=Math[_0xbbcb('0x1b')](0x1,_0x1822a5);_0x3cbdd1=Math[_0xbbcb('0x1c')](_0x1c3f0d,_0x2f1136);_0x2ff609=_0x1de31a>=_0x2b7289&&_0x1de31a<=_0x3cbdd1;}else{_0x2b7289=Math[_0xbbcb('0x1c')](_0x1822a5,_0x2f1136);_0x3cbdd1=Math[_0xbbcb('0x1b')](0x1,_0x1c3f0d);_0x2ff609=_0x1de31a>=_0x2b7289||_0x1de31a<=_0x3cbdd1;}return _0x2ff609;}}module[_0xbbcb('0xd')][_0xbbcb('0x1d')]=domCompare;function monthCompare(_0x44a75c,_0xc6243e,_0x5dd3b8){var _0x498b12=_0x44a75c[_0xbbcb('0x6')]('en')[_0xbbcb('0x1e')]('MMM')[_0xbbcb('0x9')]();return circularMonthInterval(_0xc6243e,_0x5dd3b8)[_0xbbcb('0x18')](_0x498b12);}module[_0xbbcb('0xd')][_0xbbcb('0x1f')]=monthCompare;function iftime(_0x12d4f8,_0x44ac49=moment['tz'][_0xbbcb('0x20')](),_0xa59557=moment()){if(!validateRx[_0xbbcb('0x21')](_0x12d4f8)){throw new Error(EINVALID_STRING);}else{var _0x306a73=(moment[_0xbbcb('0x22')](_0xa59557)?_0xa59557['clone']():moment(_0xa59557))['tz'](_0x44ac49)['locale']('en');throwIfDateNotValid(_0x306a73);var _0xbcfe68=_0x12d4f8[_0xbbcb('0x5')](',');var _0x50c1cd=_0xbcfe68[0x0];var _0x552477=_0xbcfe68[0x1];var _0x307bff=_0xbcfe68[0x2];var _0xd8078=_0xbcfe68[0x3];let _0x2a46f6=!![];if(_0x50c1cd!=='*'){var _0x15c87f=_0x50c1cd[_0xbbcb('0x5')]('-');var _0x571c54=_[_0xbbcb('0x23')](_0x15c87f[0x0],0x5,'0');var _0x24a3e6=_0x15c87f['length']===0x2?_['padStart'](_0x15c87f[0x1],0x5,'0'):_0x571c54;_0x2a46f6=timeCompare(_0x306a73,_0x571c54,_0x24a3e6);}let _0x4c09b4=!![];if(_0x552477!=='*'){var _0x35cdd8=_0x552477[_0xbbcb('0x5')]('-');var _0xd19f2a=_0x35cdd8[0x0];var _0x35dd99=_0x35cdd8[_0xbbcb('0x24')]===0x2?_0x35cdd8[0x1]:_0xd19f2a;_0x4c09b4=dowCompare(_0x306a73,_0xd19f2a,_0x35dd99);}let _0x57ddd6=!![];if(_0x307bff!=='*'){var _0x307b5a=_0x307bff[_0xbbcb('0x5')]('-');var _0x327782=parseDom(_0x307b5a[0x0]);var _0x18a2d9=_0x307b5a['length']===0x2?parseDom(_0x307b5a[0x1]):_0x327782;_0x57ddd6=domCompare(_0x306a73,_0x327782,_0x18a2d9);}let _0x3c936f=!![];if(_0xd8078!=='*'){var _0x38fd90=_0xd8078[_0xbbcb('0x5')]('-');var _0x1ab293=_0x38fd90[0x0];var _0x56ae87=_0x38fd90[_0xbbcb('0x24')]===0x2?_0x38fd90[0x1]:_0x38fd90[0x0];_0x3c936f=monthCompare(_0x306a73,_0x1ab293,_0x56ae87);}return _0x2a46f6&&_0x4c09b4&&_0x57ddd6&&_0x3c936f;}}module['exports'][_0xbbcb('0x25')]=iftime;