Built motion from commit (unavailable).|2.2.3
[motion2.git] / server / services / routing / lib / rule-engine.js
index 53d6426..b23cd67 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x239d=['activeRules','filter','asc','execute','result','clone','index_','ruleRef','nextTick','isEqual','restart','length','condition','call','matchPath','noop','findRules','matches','turn','prioritize','priority','toJSON','map','consequence','toString','fromJSON','isString','parse','object','exports','EventEmitter','init','isNil','register','ignoreFactChanges','inherits','prototype','isArray','rules','concat','sync'];(function(_0x22b045,_0x4e150d){var _0x43758f=function(_0x1b0fb9){while(--_0x1b0fb9){_0x22b045['push'](_0x22b045['shift']());}};_0x43758f(++_0x4e150d);}(_0x239d,0x99));var _0xd239=function(_0x3c637d,_0x2c2d77){_0x3c637d=_0x3c637d-0x0;var _0x402b94=_0x239d[_0x3c637d];return _0x402b94;};'use strict';var _=require('lodash');var util=require('util');var EventEmitter=require('events')[_0xd239('0x0')];function RuleEngine(_0x5c30fd,_0x1d2582){this[_0xd239('0x1')]();if(!_[_0xd239('0x2')](_0x5c30fd)){this[_0xd239('0x3')](_0x5c30fd);}if(_0x1d2582){this[_0xd239('0x4')]=_0x1d2582['ignoreFactChanges'];}return this;}util[_0xd239('0x5')](RuleEngine,EventEmitter);RuleEngine[_0xd239('0x6')][_0xd239('0x1')]=function(_0x397388){this['rules']=[];this['activeRules']=[];};RuleEngine[_0xd239('0x6')][_0xd239('0x3')]=function(_0x6592b7){if(Array[_0xd239('0x7')](_0x6592b7)){this[_0xd239('0x8')]=this['rules'][_0xd239('0x9')](_0x6592b7);}else if(_0x6592b7!==null&&_['isObject'](_0x6592b7)){this[_0xd239('0x8')]['push'](_0x6592b7);}this['sync']();};RuleEngine[_0xd239('0x6')][_0xd239('0xa')]=function(){this[_0xd239('0xb')]=this[_0xd239('0x8')][_0xd239('0xc')](function(_0x513623){if(_[_0xd239('0x2')](_0x513623['on'])){_0x513623['on']=!![];}if(_0x513623['on']===!![]){return _0x513623;}});this['activeRules']=_['orderBy'](this[_0xd239('0xb')],['p'],[_0xd239('0xd')]);};RuleEngine[_0xd239('0x6')][_0xd239('0xe')]=function(_0x130266,_0x271083){var _0x13faca=![];_0x130266[_0xd239('0xf')]=!![];var _0x5d0773=_[_0xd239('0x10')](_0x130266);var _0x1ebce9=_[_0xd239('0x10')](_0x130266);var _0x25bb5b=this[_0xd239('0xb')];var _0xff5e30=[];var _0x37584f=this[_0xd239('0x4')];(function FnRuleLoop(_0xe54604){var _0x6e1117={'rules':function(){return _0x25bb5b;},'rule':function(){return _0x25bb5b[_0xe54604];},'when':function(_0x545a93){if(_0x545a93){var _0x5223ec=_0x25bb5b[_0xe54604]['consequence'];_0x5223ec['ruleRef']=_0x25bb5b[_0xe54604]['id']||_0x25bb5b[_0xe54604]['name']||_0xd239('0x11')+_0xe54604;process['nextTick'](function(){_0xff5e30['push'](_0x5223ec[_0xd239('0x12')]);_0x5223ec['call'](_0x5d0773,_0x6e1117);});}else{process[_0xd239('0x13')](function(){_0x6e1117['next']();});}},'restart':function(){return FnRuleLoop(0x0);},'stop':function(){_0x13faca=!![];return FnRuleLoop(0x0);},'next':function(_0x67c269){if(!_0x37584f&&!_[_0xd239('0x14')](_0x1ebce9,_0x5d0773)){_0x1ebce9=_[_0xd239('0x10')](_0x5d0773);process['nextTick'](function(){_0x6e1117[_0xd239('0x15')]();});}else{process['nextTick'](function(){if(_[_0xd239('0x2')](_0x67c269)){return FnRuleLoop(_0xe54604+0x1);}else{return FnRuleLoop(_0x67c269);}});}}};if(_0xe54604<_0x25bb5b[_0xd239('0x16')]&&_0x13faca===![]){var _0x3e170e=_0x25bb5b[_0xe54604][_0xd239('0x17')];_0x3e170e[_0xd239('0x18')](_0x5d0773,_0x6e1117);}else{process[_0xd239('0x13')](function(){_0x5d0773[_0xd239('0x19')]=_0xff5e30;return _0x271083?_0x271083(_0x5d0773):_[_0xd239('0x1a')]();});}}(0x0));};RuleEngine[_0xd239('0x6')][_0xd239('0x1b')]=function(_0x22c041){if(_[_0xd239('0x2')](_0x22c041)){return this[_0xd239('0x8')];}else{var _0x559a86=_[_0xd239('0x1c')](_0x22c041);return _['filter'](this['rules'],_0x559a86);}};RuleEngine[_0xd239('0x6')][_0xd239('0x1d')]=function(_0xab29f8,_0x4fc28f){var _0xab29f8=_0xab29f8==='on'||_0xab29f8==='ON'?!![]:![];var _0x37ec55=this[_0xd239('0x1b')](_0x4fc28f);for(var _0x321808=0x0,_0x25fef1=_0x37ec55[_0xd239('0x16')];_0x321808<_0x25fef1;_0x321808+=0x1){_0x37ec55[_0x321808]['on']=_0xab29f8;}this[_0xd239('0xa')]();};RuleEngine[_0xd239('0x6')][_0xd239('0x1e')]=function(_0x1b97ca,_0x2131c5){_0x1b97ca=parseInt(_0x1b97ca,0xa);var _0x4a8f8=this[_0xd239('0x1b')](_0x2131c5);for(var _0x5ea53f=0x0,_0x59e1b1=_0x4a8f8['length'];_0x5ea53f<_0x59e1b1;_0x5ea53f+=0x1){_0x4a8f8[_0x5ea53f][_0xd239('0x1f')]=_0x1b97ca;}this[_0xd239('0xa')]();};RuleEngine[_0xd239('0x6')][_0xd239('0x20')]=function(){var _0x3c53ad=this[_0xd239('0x8')];if(_0x3c53ad instanceof Array){_0x3c53ad=_0x3c53ad[_0xd239('0x21')](function(_0x145cea){_0x145cea[_0xd239('0x17')]=_0x145cea['condition']['toString']();_0x145cea[_0xd239('0x22')]=_0x145cea['consequence'][_0xd239('0x23')]();return _0x145cea;});}else if(!_['isNil'](_0x3c53ad)){_0x3c53ad[_0xd239('0x17')]=_0x3c53ad[_0xd239('0x17')][_0xd239('0x23')]();_0x3c53ad['consequence']=_0x3c53ad['consequence'][_0xd239('0x23')]();}return _0x3c53ad;};RuleEngine[_0xd239('0x6')][_0xd239('0x24')]=function(_0x3d86a3){this['init']();if(_[_0xd239('0x25')](_0x3d86a3)){_0x3d86a3=JSON[_0xd239('0x26')](_0x3d86a3);}if(_0x3d86a3 instanceof Array){_0x3d86a3=_0x3d86a3[_0xd239('0x21')](function(_0x1096d3){_0x1096d3[_0xd239('0x17')]=eval('('+_0x1096d3[_0xd239('0x17')]+')');_0x1096d3[_0xd239('0x22')]=eval('('+_0x1096d3[_0xd239('0x22')]+')');return _0x1096d3;});}else if(_0x3d86a3!==null&&typeof _0x3d86a3==_0xd239('0x27')){_0x3d86a3[_0xd239('0x17')]=eval('('+_0x3d86a3[_0xd239('0x17')]+')');_0x3d86a3[_0xd239('0x22')]=eval('('+_0x3d86a3['consequence']+')');}this[_0xd239('0x3')](_0x3d86a3);};module[_0xd239('0x28')]=RuleEngine;
\ No newline at end of file
+var _0x44e6=['activeRules','isArray','concat','isObject','push','sync','execute','result','clone','consequence','ruleRef','name','index_','nextTick','call','next','isEqual','restart','condition','noop','findRules','filter','turn','length','prioritize','priority','map','toString','fromJSON','isString','parse','object','exports','lodash','events','EventEmitter','init','isNil','register','ignoreFactChanges','inherits','prototype','rules'];(function(_0x43b8ce,_0x24a531){var _0xc69b1c=function(_0x19376c){while(--_0x19376c){_0x43b8ce['push'](_0x43b8ce['shift']());}};_0xc69b1c(++_0x24a531);}(_0x44e6,0x14e));var _0x644e=function(_0x4f49cd,_0x38a696){_0x4f49cd=_0x4f49cd-0x0;var _0x1cf72f=_0x44e6[_0x4f49cd];return _0x1cf72f;};'use strict';var _=require(_0x644e('0x0'));var util=require('util');var EventEmitter=require(_0x644e('0x1'))[_0x644e('0x2')];function RuleEngine(_0x4eac73,_0x774e8b){this[_0x644e('0x3')]();if(!_[_0x644e('0x4')](_0x4eac73)){this[_0x644e('0x5')](_0x4eac73);}if(_0x774e8b){this['ignoreFactChanges']=_0x774e8b[_0x644e('0x6')];}return this;}util[_0x644e('0x7')](RuleEngine,EventEmitter);RuleEngine[_0x644e('0x8')][_0x644e('0x3')]=function(_0x1b5a6b){this[_0x644e('0x9')]=[];this[_0x644e('0xa')]=[];};RuleEngine[_0x644e('0x8')][_0x644e('0x5')]=function(_0x5b5bd6){if(Array[_0x644e('0xb')](_0x5b5bd6)){this[_0x644e('0x9')]=this[_0x644e('0x9')][_0x644e('0xc')](_0x5b5bd6);}else if(_0x5b5bd6!==null&&_[_0x644e('0xd')](_0x5b5bd6)){this['rules'][_0x644e('0xe')](_0x5b5bd6);}this[_0x644e('0xf')]();};RuleEngine['prototype'][_0x644e('0xf')]=function(){this[_0x644e('0xa')]=this[_0x644e('0x9')]['filter'](function(_0x549dfb){if(_['isNil'](_0x549dfb['on'])){_0x549dfb['on']=!![];}if(_0x549dfb['on']===!![]){return _0x549dfb;}});this[_0x644e('0xa')]=_['orderBy'](this[_0x644e('0xa')],['p'],['asc']);};RuleEngine[_0x644e('0x8')][_0x644e('0x10')]=function(_0xd1ee43,_0x3b2881){var _0x141770=![];_0xd1ee43[_0x644e('0x11')]=!![];var _0xeec1e8=_[_0x644e('0x12')](_0xd1ee43);var _0x5e016a=_[_0x644e('0x12')](_0xd1ee43);var _0x20a7dd=this[_0x644e('0xa')];var _0x2b3702=[];var _0x3e1973=this[_0x644e('0x6')];(function FnRuleLoop(_0x25de7a){var _0x139552={'rules':function(){return _0x20a7dd;},'rule':function(){return _0x20a7dd[_0x25de7a];},'when':function(_0x8889a){if(_0x8889a){var _0x7837a0=_0x20a7dd[_0x25de7a][_0x644e('0x13')];_0x7837a0[_0x644e('0x14')]=_0x20a7dd[_0x25de7a]['id']||_0x20a7dd[_0x25de7a][_0x644e('0x15')]||_0x644e('0x16')+_0x25de7a;process[_0x644e('0x17')](function(){_0x2b3702[_0x644e('0xe')](_0x7837a0[_0x644e('0x14')]);_0x7837a0[_0x644e('0x18')](_0xeec1e8,_0x139552);});}else{process[_0x644e('0x17')](function(){_0x139552[_0x644e('0x19')]();});}},'restart':function(){return FnRuleLoop(0x0);},'stop':function(){_0x141770=!![];return FnRuleLoop(0x0);},'next':function(_0x113725){if(!_0x3e1973&&!_[_0x644e('0x1a')](_0x5e016a,_0xeec1e8)){_0x5e016a=_[_0x644e('0x12')](_0xeec1e8);process[_0x644e('0x17')](function(){_0x139552[_0x644e('0x1b')]();});}else{process[_0x644e('0x17')](function(){if(_[_0x644e('0x4')](_0x113725)){return FnRuleLoop(_0x25de7a+0x1);}else{return FnRuleLoop(_0x113725);}});}}};if(_0x25de7a<_0x20a7dd['length']&&_0x141770===![]){var _0x54c8e5=_0x20a7dd[_0x25de7a][_0x644e('0x1c')];_0x54c8e5[_0x644e('0x18')](_0xeec1e8,_0x139552);}else{process['nextTick'](function(){_0xeec1e8['matchPath']=_0x2b3702;return _0x3b2881?_0x3b2881(_0xeec1e8):_[_0x644e('0x1d')]();});}}(0x0));};RuleEngine[_0x644e('0x8')][_0x644e('0x1e')]=function(_0x1922ad){if(_[_0x644e('0x4')](_0x1922ad)){return this[_0x644e('0x9')];}else{var _0x19ebd6=_['matches'](_0x1922ad);return _[_0x644e('0x1f')](this[_0x644e('0x9')],_0x19ebd6);}};RuleEngine['prototype'][_0x644e('0x20')]=function(_0xb4fc33,_0x2a0954){var _0xb4fc33=_0xb4fc33==='on'||_0xb4fc33==='ON'?!![]:![];var _0x6b117e=this['findRules'](_0x2a0954);for(var _0x157b09=0x0,_0x58c10f=_0x6b117e[_0x644e('0x21')];_0x157b09<_0x58c10f;_0x157b09+=0x1){_0x6b117e[_0x157b09]['on']=_0xb4fc33;}this['sync']();};RuleEngine[_0x644e('0x8')][_0x644e('0x22')]=function(_0x48dbe3,_0x362581){_0x48dbe3=parseInt(_0x48dbe3,0xa);var _0x451d51=this['findRules'](_0x362581);for(var _0x80218d=0x0,_0x4ad838=_0x451d51['length'];_0x80218d<_0x4ad838;_0x80218d+=0x1){_0x451d51[_0x80218d][_0x644e('0x23')]=_0x48dbe3;}this[_0x644e('0xf')]();};RuleEngine['prototype']['toJSON']=function(){var _0x2f5dba=this[_0x644e('0x9')];if(_0x2f5dba instanceof Array){_0x2f5dba=_0x2f5dba[_0x644e('0x24')](function(_0x2eadcc){_0x2eadcc[_0x644e('0x1c')]=_0x2eadcc['condition'][_0x644e('0x25')]();_0x2eadcc['consequence']=_0x2eadcc[_0x644e('0x13')][_0x644e('0x25')]();return _0x2eadcc;});}else if(!_[_0x644e('0x4')](_0x2f5dba)){_0x2f5dba[_0x644e('0x1c')]=_0x2f5dba[_0x644e('0x1c')]['toString']();_0x2f5dba['consequence']=_0x2f5dba[_0x644e('0x13')]['toString']();}return _0x2f5dba;};RuleEngine[_0x644e('0x8')][_0x644e('0x26')]=function(_0x5ce127){this['init']();if(_[_0x644e('0x27')](_0x5ce127)){_0x5ce127=JSON[_0x644e('0x28')](_0x5ce127);}if(_0x5ce127 instanceof Array){_0x5ce127=_0x5ce127['map'](function(_0x1b64fb){_0x1b64fb[_0x644e('0x1c')]=eval('('+_0x1b64fb['condition']+')');_0x1b64fb[_0x644e('0x13')]=eval('('+_0x1b64fb[_0x644e('0x13')]+')');return _0x1b64fb;});}else if(_0x5ce127!==null&&typeof _0x5ce127==_0x644e('0x29')){_0x5ce127[_0x644e('0x1c')]=eval('('+_0x5ce127[_0x644e('0x1c')]+')');_0x5ce127[_0x644e('0x13')]=eval('('+_0x5ce127[_0x644e('0x13')]+')');}this[_0x644e('0x5')](_0x5ce127);};module[_0x644e('0x2a')]=RuleEngine;
\ No newline at end of file