Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / services / routing / lib / rule-engine.js
index 785b92e..75c9797 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x88fc=['result','clone','ruleRef','index_','nextTick','call','next','length','matchPath','findRules','isNil','matches','filter','prioritize','priority','toJSON','map','condition','toString','consequence','fromJSON','isString','parse','object','exports','lodash','events','EventEmitter','init','register','ignoreFactChanges','inherits','rules','activeRules','prototype','isArray','concat','isObject','sync','orderBy','asc','execute'];(function(_0x24fcd5,_0x3ba9c0){var _0xb19de7=function(_0x29cb58){while(--_0x29cb58){_0x24fcd5['push'](_0x24fcd5['shift']());}};_0xb19de7(++_0x3ba9c0);}(_0x88fc,0x169));var _0xc88f=function(_0x18680a,_0x2ad078){_0x18680a=_0x18680a-0x0;var _0x47cef0=_0x88fc[_0x18680a];return _0x47cef0;};'use strict';var _=require(_0xc88f('0x0'));var util=require('util');var EventEmitter=require(_0xc88f('0x1'))[_0xc88f('0x2')];function RuleEngine(_0x10f693,_0x368fb8){this[_0xc88f('0x3')]();if(!_['isNil'](_0x10f693)){this[_0xc88f('0x4')](_0x10f693);}if(_0x368fb8){this['ignoreFactChanges']=_0x368fb8[_0xc88f('0x5')];}return this;}util[_0xc88f('0x6')](RuleEngine,EventEmitter);RuleEngine['prototype'][_0xc88f('0x3')]=function(_0x5d2da4){this[_0xc88f('0x7')]=[];this[_0xc88f('0x8')]=[];};RuleEngine[_0xc88f('0x9')][_0xc88f('0x4')]=function(_0x577ddd){if(Array[_0xc88f('0xa')](_0x577ddd)){this['rules']=this[_0xc88f('0x7')][_0xc88f('0xb')](_0x577ddd);}else if(_0x577ddd!==null&&_[_0xc88f('0xc')](_0x577ddd)){this[_0xc88f('0x7')]['push'](_0x577ddd);}this[_0xc88f('0xd')]();};RuleEngine['prototype'][_0xc88f('0xd')]=function(){this[_0xc88f('0x8')]=this['rules']['filter'](function(_0x29f8a2){if(_['isNil'](_0x29f8a2['on'])){_0x29f8a2['on']=!![];}if(_0x29f8a2['on']===!![]){return _0x29f8a2;}});this['activeRules']=_[_0xc88f('0xe')](this['activeRules'],['p'],[_0xc88f('0xf')]);};RuleEngine[_0xc88f('0x9')][_0xc88f('0x10')]=function(_0x47603c,_0x575919){var _0x19ee3f=![];_0x47603c[_0xc88f('0x11')]=!![];var _0x169f38=_['clone'](_0x47603c);var _0x493e0c=_[_0xc88f('0x12')](_0x47603c);var _0x5129e6=this['activeRules'];var _0x3d5fd3=[];var _0x254629=this[_0xc88f('0x5')];(function FnRuleLoop(_0x48394c){var _0x3a290e={'rules':function(){return _0x5129e6;},'rule':function(){return _0x5129e6[_0x48394c];},'when':function(_0x192a1e){if(_0x192a1e){var _0x386810=_0x5129e6[_0x48394c]['consequence'];_0x386810[_0xc88f('0x13')]=_0x5129e6[_0x48394c]['id']||_0x5129e6[_0x48394c]['name']||_0xc88f('0x14')+_0x48394c;process[_0xc88f('0x15')](function(){_0x3d5fd3['push'](_0x386810['ruleRef']);_0x386810[_0xc88f('0x16')](_0x169f38,_0x3a290e);});}else{process['nextTick'](function(){_0x3a290e[_0xc88f('0x17')]();});}},'restart':function(){return FnRuleLoop(0x0);},'stop':function(){_0x19ee3f=!![];return FnRuleLoop(0x0);},'next':function(_0x1495c4){if(!_0x254629&&!_['isEqual'](_0x493e0c,_0x169f38)){_0x493e0c=_['clone'](_0x169f38);process[_0xc88f('0x15')](function(){_0x3a290e['restart']();});}else{process[_0xc88f('0x15')](function(){if(_['isNil'](_0x1495c4)){return FnRuleLoop(_0x48394c+0x1);}else{return FnRuleLoop(_0x1495c4);}});}}};if(_0x48394c<_0x5129e6[_0xc88f('0x18')]&&_0x19ee3f===![]){var _0x4f6997=_0x5129e6[_0x48394c]['condition'];_0x4f6997[_0xc88f('0x16')](_0x169f38,_0x3a290e);}else{process[_0xc88f('0x15')](function(){_0x169f38[_0xc88f('0x19')]=_0x3d5fd3;return _0x575919?_0x575919(_0x169f38):_['noop']();});}}(0x0));};RuleEngine['prototype'][_0xc88f('0x1a')]=function(_0x35cf78){if(_[_0xc88f('0x1b')](_0x35cf78)){return this['rules'];}else{var _0x52d250=_[_0xc88f('0x1c')](_0x35cf78);return _[_0xc88f('0x1d')](this[_0xc88f('0x7')],_0x52d250);}};RuleEngine[_0xc88f('0x9')]['turn']=function(_0xa116a3,_0x56aa44){var _0x38c89b=_0xa116a3==='on'||_0xa116a3==='ON'?!![]:![];var _0x3df438=this[_0xc88f('0x1a')](_0x56aa44);for(var _0x4cc68f=0x0,_0x14fad1=_0x3df438['length'];_0x4cc68f<_0x14fad1;_0x4cc68f+=0x1){_0x3df438[_0x4cc68f]['on']=_0x38c89b;}this['sync']();};RuleEngine['prototype'][_0xc88f('0x1e')]=function(_0x2723cd,_0x39b3f1){_0x2723cd=parseInt(_0x2723cd,0xa);var _0x556503=this[_0xc88f('0x1a')](_0x39b3f1);for(var _0x52b754=0x0,_0x1bbf3c=_0x556503[_0xc88f('0x18')];_0x52b754<_0x1bbf3c;_0x52b754+=0x1){_0x556503[_0x52b754][_0xc88f('0x1f')]=_0x2723cd;}this[_0xc88f('0xd')]();};RuleEngine[_0xc88f('0x9')][_0xc88f('0x20')]=function(){var _0x22acc0=this[_0xc88f('0x7')];if(_0x22acc0 instanceof Array){_0x22acc0=_0x22acc0[_0xc88f('0x21')](function(_0x5bb033){_0x5bb033['condition']=_0x5bb033[_0xc88f('0x22')][_0xc88f('0x23')]();_0x5bb033[_0xc88f('0x24')]=_0x5bb033[_0xc88f('0x24')][_0xc88f('0x23')]();return _0x5bb033;});}else if(!_[_0xc88f('0x1b')](_0x22acc0)){_0x22acc0['condition']=_0x22acc0[_0xc88f('0x22')][_0xc88f('0x23')]();_0x22acc0[_0xc88f('0x24')]=_0x22acc0[_0xc88f('0x24')]['toString']();}return _0x22acc0;};RuleEngine[_0xc88f('0x9')][_0xc88f('0x25')]=function(_0x29c451){this['init']();if(_[_0xc88f('0x26')](_0x29c451)){_0x29c451=JSON[_0xc88f('0x27')](_0x29c451);}if(_0x29c451 instanceof Array){_0x29c451=_0x29c451[_0xc88f('0x21')](function(_0x3f0cd6){_0x3f0cd6[_0xc88f('0x22')]=eval('('+_0x3f0cd6['condition']+')');_0x3f0cd6[_0xc88f('0x24')]=eval('('+_0x3f0cd6[_0xc88f('0x24')]+')');return _0x3f0cd6;});}else if(_0x29c451!==null&&typeof _0x29c451==_0xc88f('0x28')){_0x29c451['condition']=eval('('+_0x29c451[_0xc88f('0x22')]+')');_0x29c451['consequence']=eval('('+_0x29c451['consequence']+')');}this[_0xc88f('0x4')](_0x29c451);};module[_0xc88f('0x29')]=RuleEngine;
\ No newline at end of file
+var _0xd959=['ignoreFactChanges','inherits','prototype','rules','activeRules','isArray','concat','push','filter','isNil','asc','result','clone','consequence','ruleRef','name','index_','nextTick','call','next','restart','condition','matchPath','noop','findRules','turn','length','sync','prioritize','priority','toJSON','toString','fromJSON','isString','parse','map','object','exports','lodash','util','events','EventEmitter','init','register'];(function(_0x5daa51,_0x48bb63){var _0x38a0eb=function(_0x4e0414){while(--_0x4e0414){_0x5daa51['push'](_0x5daa51['shift']());}};_0x38a0eb(++_0x48bb63);}(_0xd959,0x1de));var _0x9d95=function(_0x225da3,_0x15da96){_0x225da3=_0x225da3-0x0;var _0x168c65=_0xd959[_0x225da3];return _0x168c65;};'use strict';var _=require(_0x9d95('0x0'));var util=require(_0x9d95('0x1'));var EventEmitter=require(_0x9d95('0x2'))[_0x9d95('0x3')];function RuleEngine(_0x45a124,_0x59fa9e){this[_0x9d95('0x4')]();if(!_['isNil'](_0x45a124)){this[_0x9d95('0x5')](_0x45a124);}if(_0x59fa9e){this['ignoreFactChanges']=_0x59fa9e[_0x9d95('0x6')];}return this;}util[_0x9d95('0x7')](RuleEngine,EventEmitter);RuleEngine[_0x9d95('0x8')][_0x9d95('0x4')]=function(_0x5b8397){this[_0x9d95('0x9')]=[];this[_0x9d95('0xa')]=[];};RuleEngine[_0x9d95('0x8')][_0x9d95('0x5')]=function(_0xb1d17c){if(Array[_0x9d95('0xb')](_0xb1d17c)){this[_0x9d95('0x9')]=this[_0x9d95('0x9')][_0x9d95('0xc')](_0xb1d17c);}else if(_0xb1d17c!==null&&_['isObject'](_0xb1d17c)){this[_0x9d95('0x9')][_0x9d95('0xd')](_0xb1d17c);}this['sync']();};RuleEngine[_0x9d95('0x8')]['sync']=function(){this[_0x9d95('0xa')]=this['rules'][_0x9d95('0xe')](function(_0x3ef510){if(_[_0x9d95('0xf')](_0x3ef510['on'])){_0x3ef510['on']=!![];}if(_0x3ef510['on']===!![]){return _0x3ef510;}});this[_0x9d95('0xa')]=_['orderBy'](this['activeRules'],['p'],[_0x9d95('0x10')]);};RuleEngine[_0x9d95('0x8')]['execute']=function(_0x3af722,_0x333298){var _0x23679f=![];_0x3af722[_0x9d95('0x11')]=!![];var _0x18816d=_[_0x9d95('0x12')](_0x3af722);var _0x64fcd4=_[_0x9d95('0x12')](_0x3af722);var _0x229064=this['activeRules'];var _0x373024=[];var _0x2d5562=this[_0x9d95('0x6')];(function FnRuleLoop(_0x22e0d1){var _0x268eb6={'rules':function(){return _0x229064;},'rule':function(){return _0x229064[_0x22e0d1];},'when':function(_0x4095d2){if(_0x4095d2){var _0xe84bd7=_0x229064[_0x22e0d1][_0x9d95('0x13')];_0xe84bd7[_0x9d95('0x14')]=_0x229064[_0x22e0d1]['id']||_0x229064[_0x22e0d1][_0x9d95('0x15')]||_0x9d95('0x16')+_0x22e0d1;process[_0x9d95('0x17')](function(){_0x373024[_0x9d95('0xd')](_0xe84bd7[_0x9d95('0x14')]);_0xe84bd7[_0x9d95('0x18')](_0x18816d,_0x268eb6);});}else{process[_0x9d95('0x17')](function(){_0x268eb6[_0x9d95('0x19')]();});}},'restart':function(){return FnRuleLoop(0x0);},'stop':function(){_0x23679f=!![];return FnRuleLoop(0x0);},'next':function(_0x6eaa97){if(!_0x2d5562&&!_['isEqual'](_0x64fcd4,_0x18816d)){_0x64fcd4=_[_0x9d95('0x12')](_0x18816d);process[_0x9d95('0x17')](function(){_0x268eb6[_0x9d95('0x1a')]();});}else{process[_0x9d95('0x17')](function(){if(_[_0x9d95('0xf')](_0x6eaa97)){return FnRuleLoop(_0x22e0d1+0x1);}else{return FnRuleLoop(_0x6eaa97);}});}}};if(_0x22e0d1<_0x229064['length']&&_0x23679f===![]){var _0x377953=_0x229064[_0x22e0d1][_0x9d95('0x1b')];_0x377953['call'](_0x18816d,_0x268eb6);}else{process[_0x9d95('0x17')](function(){_0x18816d[_0x9d95('0x1c')]=_0x373024;return _0x333298?_0x333298(_0x18816d):_[_0x9d95('0x1d')]();});}}(0x0));};RuleEngine[_0x9d95('0x8')][_0x9d95('0x1e')]=function(_0x276ee3){if(_[_0x9d95('0xf')](_0x276ee3)){return this[_0x9d95('0x9')];}else{var _0x2785bb=_['matches'](_0x276ee3);return _[_0x9d95('0xe')](this['rules'],_0x2785bb);}};RuleEngine[_0x9d95('0x8')][_0x9d95('0x1f')]=function(_0x570e19,_0x572b93){var _0x1c7a8d=_0x570e19==='on'||_0x570e19==='ON'?!![]:![];var _0xd5a553=this[_0x9d95('0x1e')](_0x572b93);for(var _0xcc599d=0x0,_0x2384e0=_0xd5a553[_0x9d95('0x20')];_0xcc599d<_0x2384e0;_0xcc599d+=0x1){_0xd5a553[_0xcc599d]['on']=_0x1c7a8d;}this[_0x9d95('0x21')]();};RuleEngine[_0x9d95('0x8')][_0x9d95('0x22')]=function(_0x5147cf,_0x48b7de){_0x5147cf=parseInt(_0x5147cf,0xa);var _0x4605f3=this[_0x9d95('0x1e')](_0x48b7de);for(var _0x29fa9f=0x0,_0x46d438=_0x4605f3['length'];_0x29fa9f<_0x46d438;_0x29fa9f+=0x1){_0x4605f3[_0x29fa9f][_0x9d95('0x23')]=_0x5147cf;}this[_0x9d95('0x21')]();};RuleEngine[_0x9d95('0x8')][_0x9d95('0x24')]=function(){var _0x1d4b8d=this[_0x9d95('0x9')];if(_0x1d4b8d instanceof Array){_0x1d4b8d=_0x1d4b8d['map'](function(_0x4ca55a){_0x4ca55a[_0x9d95('0x1b')]=_0x4ca55a[_0x9d95('0x1b')][_0x9d95('0x25')]();_0x4ca55a[_0x9d95('0x13')]=_0x4ca55a[_0x9d95('0x13')][_0x9d95('0x25')]();return _0x4ca55a;});}else if(!_[_0x9d95('0xf')](_0x1d4b8d)){_0x1d4b8d[_0x9d95('0x1b')]=_0x1d4b8d[_0x9d95('0x1b')][_0x9d95('0x25')]();_0x1d4b8d[_0x9d95('0x13')]=_0x1d4b8d[_0x9d95('0x13')][_0x9d95('0x25')]();}return _0x1d4b8d;};RuleEngine[_0x9d95('0x8')][_0x9d95('0x26')]=function(_0x1800a8){this['init']();if(_[_0x9d95('0x27')](_0x1800a8)){_0x1800a8=JSON[_0x9d95('0x28')](_0x1800a8);}if(_0x1800a8 instanceof Array){_0x1800a8=_0x1800a8[_0x9d95('0x29')](function(_0x462dff){_0x462dff[_0x9d95('0x1b')]=eval('('+_0x462dff[_0x9d95('0x1b')]+')');_0x462dff[_0x9d95('0x13')]=eval('('+_0x462dff[_0x9d95('0x13')]+')');return _0x462dff;});}else if(_0x1800a8!==null&&typeof _0x1800a8==_0x9d95('0x2a')){_0x1800a8[_0x9d95('0x1b')]=eval('('+_0x1800a8[_0x9d95('0x1b')]+')');_0x1800a8[_0x9d95('0x13')]=eval('('+_0x1800a8[_0x9d95('0x13')]+')');}this[_0x9d95('0x5')](_0x1800a8);};module[_0x9d95('0x2b')]=RuleEngine;
\ No newline at end of file