Built motion from commit (unavailable).|2.3.1
[motion2.git] / server / services / routing / lib / rule-engine.js
index c80773d..faf0f2e 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x8154=['next','isEqual','restart','isNil','length','condition','matchPath','findRules','matches','filter','turn','prioritize','priority','map','toString','fromJSON','isString','parse','object','exports','lodash','util','events','init','register','ignoreFactChanges','prototype','activeRules','rules','push','sync','asc','result','clone','consequence','name','index_','nextTick','ruleRef','call'];(function(_0x423e0f,_0x47478e){var _0x5d3930=function(_0x37b42d){while(--_0x37b42d){_0x423e0f['push'](_0x423e0f['shift']());}};_0x5d3930(++_0x47478e);}(_0x8154,0x1cc));var _0x4815=function(_0x122ef9,_0x451d2a){_0x122ef9=_0x122ef9-0x0;var _0x42fba0=_0x8154[_0x122ef9];return _0x42fba0;};'use strict';var _=require(_0x4815('0x0'));var util=require(_0x4815('0x1'));var EventEmitter=require(_0x4815('0x2'))['EventEmitter'];function RuleEngine(_0x458f1a,_0xc8c812){this[_0x4815('0x3')]();if(!_['isNil'](_0x458f1a)){this[_0x4815('0x4')](_0x458f1a);}if(_0xc8c812){this[_0x4815('0x5')]=_0xc8c812[_0x4815('0x5')];}return this;}util['inherits'](RuleEngine,EventEmitter);RuleEngine[_0x4815('0x6')]['init']=function(_0x158121){this['rules']=[];this[_0x4815('0x7')]=[];};RuleEngine[_0x4815('0x6')][_0x4815('0x4')]=function(_0x41b862){if(Array['isArray'](_0x41b862)){this[_0x4815('0x8')]=this[_0x4815('0x8')]['concat'](_0x41b862);}else if(_0x41b862!==null&&_['isObject'](_0x41b862)){this[_0x4815('0x8')][_0x4815('0x9')](_0x41b862);}this[_0x4815('0xa')]();};RuleEngine['prototype'][_0x4815('0xa')]=function(){this[_0x4815('0x7')]=this[_0x4815('0x8')]['filter'](function(_0x233caa){if(_['isNil'](_0x233caa['on'])){_0x233caa['on']=!![];}if(_0x233caa['on']===!![]){return _0x233caa;}});this[_0x4815('0x7')]=_['orderBy'](this[_0x4815('0x7')],['p'],[_0x4815('0xb')]);};RuleEngine[_0x4815('0x6')]['execute']=function(_0x474a37,_0x59acc7){var _0x3248be=![];_0x474a37[_0x4815('0xc')]=!![];var _0x32114a=_[_0x4815('0xd')](_0x474a37);var _0x1e9ec1=_[_0x4815('0xd')](_0x474a37);var _0xbd73cd=this['activeRules'];var _0x3c381b=[];var _0x3501e3=this['ignoreFactChanges'];(function FnRuleLoop(_0x59788a){var _0x515272={'rules':function(){return _0xbd73cd;},'rule':function(){return _0xbd73cd[_0x59788a];},'when':function(_0x1274be){if(_0x1274be){var _0x1299ea=_0xbd73cd[_0x59788a][_0x4815('0xe')];_0x1299ea['ruleRef']=_0xbd73cd[_0x59788a]['id']||_0xbd73cd[_0x59788a][_0x4815('0xf')]||_0x4815('0x10')+_0x59788a;process[_0x4815('0x11')](function(){_0x3c381b[_0x4815('0x9')](_0x1299ea[_0x4815('0x12')]);_0x1299ea[_0x4815('0x13')](_0x32114a,_0x515272);});}else{process[_0x4815('0x11')](function(){_0x515272[_0x4815('0x14')]();});}},'restart':function(){return FnRuleLoop(0x0);},'stop':function(){_0x3248be=!![];return FnRuleLoop(0x0);},'next':function(_0x119259){if(!_0x3501e3&&!_[_0x4815('0x15')](_0x1e9ec1,_0x32114a)){_0x1e9ec1=_['clone'](_0x32114a);process[_0x4815('0x11')](function(){_0x515272[_0x4815('0x16')]();});}else{process['nextTick'](function(){if(_[_0x4815('0x17')](_0x119259)){return FnRuleLoop(_0x59788a+0x1);}else{return FnRuleLoop(_0x119259);}});}}};if(_0x59788a<_0xbd73cd[_0x4815('0x18')]&&_0x3248be===![]){var _0x2b8ecd=_0xbd73cd[_0x59788a][_0x4815('0x19')];_0x2b8ecd[_0x4815('0x13')](_0x32114a,_0x515272);}else{process[_0x4815('0x11')](function(){_0x32114a[_0x4815('0x1a')]=_0x3c381b;return _0x59acc7?_0x59acc7(_0x32114a):_['noop']();});}}(0x0));};RuleEngine['prototype'][_0x4815('0x1b')]=function(_0x1c3d7e){if(_[_0x4815('0x17')](_0x1c3d7e)){return this['rules'];}else{var _0x34597d=_[_0x4815('0x1c')](_0x1c3d7e);return _[_0x4815('0x1d')](this[_0x4815('0x8')],_0x34597d);}};RuleEngine['prototype'][_0x4815('0x1e')]=function(_0x2397cc,_0x51facb){var _0x2397cc=_0x2397cc==='on'||_0x2397cc==='ON'?!![]:![];var _0x34443c=this['findRules'](_0x51facb);for(var _0x4fad1c=0x0,_0x4059b9=_0x34443c[_0x4815('0x18')];_0x4fad1c<_0x4059b9;_0x4fad1c+=0x1){_0x34443c[_0x4fad1c]['on']=_0x2397cc;}this['sync']();};RuleEngine[_0x4815('0x6')][_0x4815('0x1f')]=function(_0x46f650,_0x3ad2bb){_0x46f650=parseInt(_0x46f650,0xa);var _0x15bdfe=this['findRules'](_0x3ad2bb);for(var _0x3bce69=0x0,_0x588f69=_0x15bdfe[_0x4815('0x18')];_0x3bce69<_0x588f69;_0x3bce69+=0x1){_0x15bdfe[_0x3bce69][_0x4815('0x20')]=_0x46f650;}this[_0x4815('0xa')]();};RuleEngine['prototype']['toJSON']=function(){var _0xde7ef7=this[_0x4815('0x8')];if(_0xde7ef7 instanceof Array){_0xde7ef7=_0xde7ef7[_0x4815('0x21')](function(_0x10d63f){_0x10d63f['condition']=_0x10d63f['condition'][_0x4815('0x22')]();_0x10d63f[_0x4815('0xe')]=_0x10d63f['consequence'][_0x4815('0x22')]();return _0x10d63f;});}else if(!_[_0x4815('0x17')](_0xde7ef7)){_0xde7ef7[_0x4815('0x19')]=_0xde7ef7['condition'][_0x4815('0x22')]();_0xde7ef7[_0x4815('0xe')]=_0xde7ef7[_0x4815('0xe')]['toString']();}return _0xde7ef7;};RuleEngine[_0x4815('0x6')][_0x4815('0x23')]=function(_0x22e289){this['init']();if(_[_0x4815('0x24')](_0x22e289)){_0x22e289=JSON[_0x4815('0x25')](_0x22e289);}if(_0x22e289 instanceof Array){_0x22e289=_0x22e289['map'](function(_0xae1e3b){_0xae1e3b['condition']=eval('('+_0xae1e3b[_0x4815('0x19')]+')');_0xae1e3b[_0x4815('0xe')]=eval('('+_0xae1e3b[_0x4815('0xe')]+')');return _0xae1e3b;});}else if(_0x22e289!==null&&typeof _0x22e289==_0x4815('0x26')){_0x22e289[_0x4815('0x19')]=eval('('+_0x22e289[_0x4815('0x19')]+')');_0x22e289[_0x4815('0xe')]=eval('('+_0x22e289['consequence']+')');}this[_0x4815('0x4')](_0x22e289);};module[_0x4815('0x27')]=RuleEngine;
\ No newline at end of file
+var _0xb5a9=['isNil','register','ignoreFactChanges','inherits','rules','activeRules','prototype','isArray','sync','filter','asc','execute','result','clone','consequence','ruleRef','index_','nextTick','push','call','next','isEqual','length','condition','matchPath','findRules','matches','turn','prioritize','priority','toJSON','map','toString','fromJSON','isString','object','lodash','util','events','EventEmitter','init'];(function(_0x52c907,_0x5bb5cb){var _0x568c5a=function(_0x58580e){while(--_0x58580e){_0x52c907['push'](_0x52c907['shift']());}};_0x568c5a(++_0x5bb5cb);}(_0xb5a9,0x143));var _0x9b5a=function(_0x510902,_0x5be906){_0x510902=_0x510902-0x0;var _0x169e5a=_0xb5a9[_0x510902];return _0x169e5a;};'use strict';var _=require(_0x9b5a('0x0'));var util=require(_0x9b5a('0x1'));var EventEmitter=require(_0x9b5a('0x2'))[_0x9b5a('0x3')];function RuleEngine(_0x263887,_0x3060f9){this[_0x9b5a('0x4')]();if(!_[_0x9b5a('0x5')](_0x263887)){this[_0x9b5a('0x6')](_0x263887);}if(_0x3060f9){this[_0x9b5a('0x7')]=_0x3060f9['ignoreFactChanges'];}return this;}util[_0x9b5a('0x8')](RuleEngine,EventEmitter);RuleEngine['prototype'][_0x9b5a('0x4')]=function(_0x262bcd){this[_0x9b5a('0x9')]=[];this[_0x9b5a('0xa')]=[];};RuleEngine[_0x9b5a('0xb')][_0x9b5a('0x6')]=function(_0x2f4584){if(Array[_0x9b5a('0xc')](_0x2f4584)){this[_0x9b5a('0x9')]=this[_0x9b5a('0x9')]['concat'](_0x2f4584);}else if(_0x2f4584!==null&&_['isObject'](_0x2f4584)){this['rules']['push'](_0x2f4584);}this[_0x9b5a('0xd')]();};RuleEngine[_0x9b5a('0xb')][_0x9b5a('0xd')]=function(){this[_0x9b5a('0xa')]=this[_0x9b5a('0x9')][_0x9b5a('0xe')](function(_0x66050d){if(_[_0x9b5a('0x5')](_0x66050d['on'])){_0x66050d['on']=!![];}if(_0x66050d['on']===!![]){return _0x66050d;}});this[_0x9b5a('0xa')]=_['orderBy'](this[_0x9b5a('0xa')],['p'],[_0x9b5a('0xf')]);};RuleEngine[_0x9b5a('0xb')][_0x9b5a('0x10')]=function(_0x390ece,_0x5c3a34){var _0x4aabee=![];_0x390ece[_0x9b5a('0x11')]=!![];var _0x319fdf=_[_0x9b5a('0x12')](_0x390ece);var _0x2b8987=_['clone'](_0x390ece);var _0x4f0c3f=this[_0x9b5a('0xa')];var _0xdfbd35=[];var _0xe3fdb8=this[_0x9b5a('0x7')];(function FnRuleLoop(_0x1f48fe){var _0x21d461={'rules':function(){return _0x4f0c3f;},'rule':function(){return _0x4f0c3f[_0x1f48fe];},'when':function(_0x3ed180){if(_0x3ed180){var _0x33d75a=_0x4f0c3f[_0x1f48fe][_0x9b5a('0x13')];_0x33d75a[_0x9b5a('0x14')]=_0x4f0c3f[_0x1f48fe]['id']||_0x4f0c3f[_0x1f48fe]['name']||_0x9b5a('0x15')+_0x1f48fe;process[_0x9b5a('0x16')](function(){_0xdfbd35[_0x9b5a('0x17')](_0x33d75a[_0x9b5a('0x14')]);_0x33d75a[_0x9b5a('0x18')](_0x319fdf,_0x21d461);});}else{process['nextTick'](function(){_0x21d461[_0x9b5a('0x19')]();});}},'restart':function(){return FnRuleLoop(0x0);},'stop':function(){_0x4aabee=!![];return FnRuleLoop(0x0);},'next':function(_0x259f4c){if(!_0xe3fdb8&&!_[_0x9b5a('0x1a')](_0x2b8987,_0x319fdf)){_0x2b8987=_[_0x9b5a('0x12')](_0x319fdf);process[_0x9b5a('0x16')](function(){_0x21d461['restart']();});}else{process[_0x9b5a('0x16')](function(){if(_['isNil'](_0x259f4c)){return FnRuleLoop(_0x1f48fe+0x1);}else{return FnRuleLoop(_0x259f4c);}});}}};if(_0x1f48fe<_0x4f0c3f[_0x9b5a('0x1b')]&&_0x4aabee===![]){var _0x5dbef6=_0x4f0c3f[_0x1f48fe][_0x9b5a('0x1c')];_0x5dbef6[_0x9b5a('0x18')](_0x319fdf,_0x21d461);}else{process[_0x9b5a('0x16')](function(){_0x319fdf[_0x9b5a('0x1d')]=_0xdfbd35;return _0x5c3a34?_0x5c3a34(_0x319fdf):_['noop']();});}}(0x0));};RuleEngine[_0x9b5a('0xb')][_0x9b5a('0x1e')]=function(_0x2a9931){if(_[_0x9b5a('0x5')](_0x2a9931)){return this[_0x9b5a('0x9')];}else{var _0x537f02=_[_0x9b5a('0x1f')](_0x2a9931);return _[_0x9b5a('0xe')](this[_0x9b5a('0x9')],_0x537f02);}};RuleEngine[_0x9b5a('0xb')][_0x9b5a('0x20')]=function(_0x174d2d,_0x90e409){var _0x174d2d=_0x174d2d==='on'||_0x174d2d==='ON'?!![]:![];var _0x34fe19=this[_0x9b5a('0x1e')](_0x90e409);for(var _0x263e69=0x0,_0x4ca627=_0x34fe19[_0x9b5a('0x1b')];_0x263e69<_0x4ca627;_0x263e69+=0x1){_0x34fe19[_0x263e69]['on']=_0x174d2d;}this['sync']();};RuleEngine[_0x9b5a('0xb')][_0x9b5a('0x21')]=function(_0x3ff000,_0x198e05){_0x3ff000=parseInt(_0x3ff000,0xa);var _0x3bb5eb=this[_0x9b5a('0x1e')](_0x198e05);for(var _0x105f1f=0x0,_0x53ef9b=_0x3bb5eb[_0x9b5a('0x1b')];_0x105f1f<_0x53ef9b;_0x105f1f+=0x1){_0x3bb5eb[_0x105f1f][_0x9b5a('0x22')]=_0x3ff000;}this[_0x9b5a('0xd')]();};RuleEngine[_0x9b5a('0xb')][_0x9b5a('0x23')]=function(){var _0x554edc=this['rules'];if(_0x554edc instanceof Array){_0x554edc=_0x554edc[_0x9b5a('0x24')](function(_0x54f114){_0x54f114[_0x9b5a('0x1c')]=_0x54f114[_0x9b5a('0x1c')][_0x9b5a('0x25')]();_0x54f114[_0x9b5a('0x13')]=_0x54f114[_0x9b5a('0x13')][_0x9b5a('0x25')]();return _0x54f114;});}else if(!_[_0x9b5a('0x5')](_0x554edc)){_0x554edc[_0x9b5a('0x1c')]=_0x554edc['condition'][_0x9b5a('0x25')]();_0x554edc[_0x9b5a('0x13')]=_0x554edc[_0x9b5a('0x13')][_0x9b5a('0x25')]();}return _0x554edc;};RuleEngine['prototype'][_0x9b5a('0x26')]=function(_0x50ed8f){this['init']();if(_[_0x9b5a('0x27')](_0x50ed8f)){_0x50ed8f=JSON['parse'](_0x50ed8f);}if(_0x50ed8f instanceof Array){_0x50ed8f=_0x50ed8f[_0x9b5a('0x24')](function(_0x1835b4){_0x1835b4['condition']=eval('('+_0x1835b4[_0x9b5a('0x1c')]+')');_0x1835b4['consequence']=eval('('+_0x1835b4['consequence']+')');return _0x1835b4;});}else if(_0x50ed8f!==null&&typeof _0x50ed8f==_0x9b5a('0x28')){_0x50ed8f[_0x9b5a('0x1c')]=eval('('+_0x50ed8f[_0x9b5a('0x1c')]+')');_0x50ed8f[_0x9b5a('0x13')]=eval('('+_0x50ed8f['consequence']+')');}this['register'](_0x50ed8f);};module['exports']=RuleEngine;
\ No newline at end of file