Built motion from commit (unavailable).|2.5.0
[motion2.git] / server / services / routing / lib / rule-engine.js
index 287fdf5..659b9c5 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x6132=['length','condition','turn','findRules','prioritize','priority','toJSON','map','toString','fromJSON','isString','parse','object','exports','lodash','util','events','EventEmitter','init','isNil','register','ignoreFactChanges','inherits','prototype','rules','isArray','concat','isObject','sync','activeRules','filter','orderBy','asc','execute','clone','consequence','ruleRef','nextTick','push','call','next','isEqual','restart'];(function(_0x3ff085,_0x27c92e){var _0x2b68c3=function(_0x37811e){while(--_0x37811e){_0x3ff085['push'](_0x3ff085['shift']());}};_0x2b68c3(++_0x27c92e);}(_0x6132,0xba));var _0x2613=function(_0x501139,_0x54c653){_0x501139=_0x501139-0x0;var _0x12f253=_0x6132[_0x501139];return _0x12f253;};'use strict';var _=require(_0x2613('0x0'));var util=require(_0x2613('0x1'));var EventEmitter=require(_0x2613('0x2'))[_0x2613('0x3')];function RuleEngine(_0x29bb31,_0x3e6b79){this[_0x2613('0x4')]();if(!_[_0x2613('0x5')](_0x29bb31)){this[_0x2613('0x6')](_0x29bb31);}if(_0x3e6b79){this[_0x2613('0x7')]=_0x3e6b79['ignoreFactChanges'];}return this;}util[_0x2613('0x8')](RuleEngine,EventEmitter);RuleEngine[_0x2613('0x9')]['init']=function(_0x551270){this[_0x2613('0xa')]=[];this['activeRules']=[];};RuleEngine[_0x2613('0x9')][_0x2613('0x6')]=function(_0x636986){if(Array[_0x2613('0xb')](_0x636986)){this[_0x2613('0xa')]=this[_0x2613('0xa')][_0x2613('0xc')](_0x636986);}else if(_0x636986!==null&&_[_0x2613('0xd')](_0x636986)){this[_0x2613('0xa')]['push'](_0x636986);}this[_0x2613('0xe')]();};RuleEngine[_0x2613('0x9')][_0x2613('0xe')]=function(){this[_0x2613('0xf')]=this[_0x2613('0xa')][_0x2613('0x10')](function(_0x1a4703){if(_[_0x2613('0x5')](_0x1a4703['on'])){_0x1a4703['on']=!![];}if(_0x1a4703['on']===!![]){return _0x1a4703;}});this[_0x2613('0xf')]=_[_0x2613('0x11')](this[_0x2613('0xf')],['p'],[_0x2613('0x12')]);};RuleEngine[_0x2613('0x9')][_0x2613('0x13')]=function(_0x3d554b,_0x37a1c1){var _0x1589fe=![];_0x3d554b['result']=!![];var _0x165d37=_[_0x2613('0x14')](_0x3d554b);var _0x399fad=_[_0x2613('0x14')](_0x3d554b);var _0x2e330d=this[_0x2613('0xf')];var _0x46c22e=[];var _0x4399d3=this['ignoreFactChanges'];(function FnRuleLoop(_0x4faeb4){var _0x15ce5e={'rules':function(){return _0x2e330d;},'rule':function(){return _0x2e330d[_0x4faeb4];},'when':function(_0x3ed680){if(_0x3ed680){var _0x355719=_0x2e330d[_0x4faeb4][_0x2613('0x15')];_0x355719[_0x2613('0x16')]=_0x2e330d[_0x4faeb4]['id']||_0x2e330d[_0x4faeb4]['name']||'index_'+_0x4faeb4;process[_0x2613('0x17')](function(){_0x46c22e[_0x2613('0x18')](_0x355719[_0x2613('0x16')]);_0x355719[_0x2613('0x19')](_0x165d37,_0x15ce5e);});}else{process['nextTick'](function(){_0x15ce5e[_0x2613('0x1a')]();});}},'restart':function(){return FnRuleLoop(0x0);},'stop':function(){_0x1589fe=!![];return FnRuleLoop(0x0);},'next':function(_0x1c92a8){if(!_0x4399d3&&!_[_0x2613('0x1b')](_0x399fad,_0x165d37)){_0x399fad=_[_0x2613('0x14')](_0x165d37);process['nextTick'](function(){_0x15ce5e[_0x2613('0x1c')]();});}else{process[_0x2613('0x17')](function(){if(_[_0x2613('0x5')](_0x1c92a8)){return FnRuleLoop(_0x4faeb4+0x1);}else{return FnRuleLoop(_0x1c92a8);}});}}};if(_0x4faeb4<_0x2e330d[_0x2613('0x1d')]&&_0x1589fe===![]){var _0x5edd75=_0x2e330d[_0x4faeb4][_0x2613('0x1e')];_0x5edd75['call'](_0x165d37,_0x15ce5e);}else{process['nextTick'](function(){_0x165d37['matchPath']=_0x46c22e;return _0x37a1c1?_0x37a1c1(_0x165d37):_['noop']();});}}(0x0));};RuleEngine[_0x2613('0x9')]['findRules']=function(_0x12a394){if(_[_0x2613('0x5')](_0x12a394)){return this[_0x2613('0xa')];}else{var _0x29d406=_['matches'](_0x12a394);return _['filter'](this[_0x2613('0xa')],_0x29d406);}};RuleEngine['prototype'][_0x2613('0x1f')]=function(_0x415205,_0x4332a4){var _0x2d8276=_0x415205==='on'||_0x415205==='ON'?!![]:![];var _0x3d4204=this[_0x2613('0x20')](_0x4332a4);for(var _0x2fa152=0x0,_0x1c0e12=_0x3d4204[_0x2613('0x1d')];_0x2fa152<_0x1c0e12;_0x2fa152+=0x1){_0x3d4204[_0x2fa152]['on']=_0x2d8276;}this[_0x2613('0xe')]();};RuleEngine[_0x2613('0x9')][_0x2613('0x21')]=function(_0x289760,_0x189360){_0x289760=parseInt(_0x289760,0xa);var _0x8c9b7e=this[_0x2613('0x20')](_0x189360);for(var _0x533c27=0x0,_0x183f3b=_0x8c9b7e[_0x2613('0x1d')];_0x533c27<_0x183f3b;_0x533c27+=0x1){_0x8c9b7e[_0x533c27][_0x2613('0x22')]=_0x289760;}this['sync']();};RuleEngine[_0x2613('0x9')][_0x2613('0x23')]=function(){var _0x348e7b=this['rules'];if(_0x348e7b instanceof Array){_0x348e7b=_0x348e7b[_0x2613('0x24')](function(_0x5a5cff){_0x5a5cff[_0x2613('0x1e')]=_0x5a5cff[_0x2613('0x1e')][_0x2613('0x25')]();_0x5a5cff[_0x2613('0x15')]=_0x5a5cff[_0x2613('0x15')][_0x2613('0x25')]();return _0x5a5cff;});}else if(!_['isNil'](_0x348e7b)){_0x348e7b[_0x2613('0x1e')]=_0x348e7b[_0x2613('0x1e')][_0x2613('0x25')]();_0x348e7b['consequence']=_0x348e7b[_0x2613('0x15')][_0x2613('0x25')]();}return _0x348e7b;};RuleEngine[_0x2613('0x9')][_0x2613('0x26')]=function(_0x1fc707){this[_0x2613('0x4')]();if(_[_0x2613('0x27')](_0x1fc707)){_0x1fc707=JSON[_0x2613('0x28')](_0x1fc707);}if(_0x1fc707 instanceof Array){_0x1fc707=_0x1fc707[_0x2613('0x24')](function(_0x1486fe){_0x1486fe[_0x2613('0x1e')]=eval('('+_0x1486fe[_0x2613('0x1e')]+')');_0x1486fe['consequence']=eval('('+_0x1486fe['consequence']+')');return _0x1486fe;});}else if(_0x1fc707!==null&&typeof _0x1fc707==_0x2613('0x29')){_0x1fc707[_0x2613('0x1e')]=eval('('+_0x1fc707[_0x2613('0x1e')]+')');_0x1fc707[_0x2613('0x15')]=eval('('+_0x1fc707['consequence']+')');}this[_0x2613('0x6')](_0x1fc707);};module[_0x2613('0x2a')]=RuleEngine;
\ No newline at end of file
+var _0x27a8=['isObject','push','sync','filter','asc','execute','clone','consequence','ruleRef','name','index_','nextTick','call','next','condition','matchPath','noop','findRules','matches','length','prioritize','toJSON','map','toString','fromJSON','init','parse','lodash','util','events','EventEmitter','isNil','ignoreFactChanges','inherits','prototype','activeRules','register','isArray','rules'];(function(_0x10b754,_0x37fbfb){var _0x49c278=function(_0x3fe2df){while(--_0x3fe2df){_0x10b754['push'](_0x10b754['shift']());}};_0x49c278(++_0x37fbfb);}(_0x27a8,0x1a1));var _0x827a=function(_0x4c6fc8,_0x561340){_0x4c6fc8=_0x4c6fc8-0x0;var _0x1366b2=_0x27a8[_0x4c6fc8];return _0x1366b2;};'use strict';var _=require(_0x827a('0x0'));var util=require(_0x827a('0x1'));var EventEmitter=require(_0x827a('0x2'))[_0x827a('0x3')];function RuleEngine(_0x18f094,_0x43dc2e){this['init']();if(!_[_0x827a('0x4')](_0x18f094)){this['register'](_0x18f094);}if(_0x43dc2e){this[_0x827a('0x5')]=_0x43dc2e[_0x827a('0x5')];}return this;}util[_0x827a('0x6')](RuleEngine,EventEmitter);RuleEngine[_0x827a('0x7')]['init']=function(_0x17571e){this['rules']=[];this[_0x827a('0x8')]=[];};RuleEngine[_0x827a('0x7')][_0x827a('0x9')]=function(_0x463dc8){if(Array[_0x827a('0xa')](_0x463dc8)){this['rules']=this[_0x827a('0xb')]['concat'](_0x463dc8);}else if(_0x463dc8!==null&&_[_0x827a('0xc')](_0x463dc8)){this[_0x827a('0xb')][_0x827a('0xd')](_0x463dc8);}this[_0x827a('0xe')]();};RuleEngine[_0x827a('0x7')][_0x827a('0xe')]=function(){this[_0x827a('0x8')]=this[_0x827a('0xb')][_0x827a('0xf')](function(_0x40b824){if(_[_0x827a('0x4')](_0x40b824['on'])){_0x40b824['on']=!![];}if(_0x40b824['on']===!![]){return _0x40b824;}});this[_0x827a('0x8')]=_['orderBy'](this['activeRules'],['p'],[_0x827a('0x10')]);};RuleEngine[_0x827a('0x7')][_0x827a('0x11')]=function(_0x57b474,_0x5e7358){var _0xbe7f78=![];_0x57b474['result']=!![];var _0x41234e=_['clone'](_0x57b474);var _0x1829b9=_[_0x827a('0x12')](_0x57b474);var _0xaa173e=this[_0x827a('0x8')];var _0x348c22=[];var _0x500d1e=this['ignoreFactChanges'];(function FnRuleLoop(_0x5dc03f){var _0x1dd52e={'rules':function(){return _0xaa173e;},'rule':function(){return _0xaa173e[_0x5dc03f];},'when':function(_0x403ae2){if(_0x403ae2){var _0x562c4f=_0xaa173e[_0x5dc03f][_0x827a('0x13')];_0x562c4f[_0x827a('0x14')]=_0xaa173e[_0x5dc03f]['id']||_0xaa173e[_0x5dc03f][_0x827a('0x15')]||_0x827a('0x16')+_0x5dc03f;process[_0x827a('0x17')](function(){_0x348c22[_0x827a('0xd')](_0x562c4f[_0x827a('0x14')]);_0x562c4f[_0x827a('0x18')](_0x41234e,_0x1dd52e);});}else{process[_0x827a('0x17')](function(){_0x1dd52e[_0x827a('0x19')]();});}},'restart':function(){return FnRuleLoop(0x0);},'stop':function(){_0xbe7f78=!![];return FnRuleLoop(0x0);},'next':function(_0x15f250){if(!_0x500d1e&&!_['isEqual'](_0x1829b9,_0x41234e)){_0x1829b9=_[_0x827a('0x12')](_0x41234e);process[_0x827a('0x17')](function(){_0x1dd52e['restart']();});}else{process[_0x827a('0x17')](function(){if(_[_0x827a('0x4')](_0x15f250)){return FnRuleLoop(_0x5dc03f+0x1);}else{return FnRuleLoop(_0x15f250);}});}}};if(_0x5dc03f<_0xaa173e['length']&&_0xbe7f78===![]){var _0x29aecd=_0xaa173e[_0x5dc03f][_0x827a('0x1a')];_0x29aecd[_0x827a('0x18')](_0x41234e,_0x1dd52e);}else{process[_0x827a('0x17')](function(){_0x41234e[_0x827a('0x1b')]=_0x348c22;return _0x5e7358?_0x5e7358(_0x41234e):_[_0x827a('0x1c')]();});}}(0x0));};RuleEngine[_0x827a('0x7')][_0x827a('0x1d')]=function(_0xcb59f9){if(_[_0x827a('0x4')](_0xcb59f9)){return this['rules'];}else{var _0x2baaf9=_[_0x827a('0x1e')](_0xcb59f9);return _[_0x827a('0xf')](this[_0x827a('0xb')],_0x2baaf9);}};RuleEngine['prototype']['turn']=function(_0x1ee2e6,_0x42c228){var _0x5dd2c5=_0x1ee2e6==='on'||_0x1ee2e6==='ON'?!![]:![];var _0x916e6e=this[_0x827a('0x1d')](_0x42c228);for(var _0x527ed0=0x0,_0x4eba76=_0x916e6e[_0x827a('0x1f')];_0x527ed0<_0x4eba76;_0x527ed0+=0x1){_0x916e6e[_0x527ed0]['on']=_0x5dd2c5;}this[_0x827a('0xe')]();};RuleEngine['prototype'][_0x827a('0x20')]=function(_0x1868c4,_0x313b2d){_0x1868c4=parseInt(_0x1868c4,0xa);var _0xcd7a12=this['findRules'](_0x313b2d);for(var _0x3027d5=0x0,_0x2ecc72=_0xcd7a12[_0x827a('0x1f')];_0x3027d5<_0x2ecc72;_0x3027d5+=0x1){_0xcd7a12[_0x3027d5]['priority']=_0x1868c4;}this[_0x827a('0xe')]();};RuleEngine[_0x827a('0x7')][_0x827a('0x21')]=function(){var _0x5b6a8b=this[_0x827a('0xb')];if(_0x5b6a8b instanceof Array){_0x5b6a8b=_0x5b6a8b[_0x827a('0x22')](function(_0x560335){_0x560335[_0x827a('0x1a')]=_0x560335[_0x827a('0x1a')]['toString']();_0x560335[_0x827a('0x13')]=_0x560335[_0x827a('0x13')]['toString']();return _0x560335;});}else if(!_['isNil'](_0x5b6a8b)){_0x5b6a8b[_0x827a('0x1a')]=_0x5b6a8b[_0x827a('0x1a')]['toString']();_0x5b6a8b['consequence']=_0x5b6a8b[_0x827a('0x13')][_0x827a('0x23')]();}return _0x5b6a8b;};RuleEngine[_0x827a('0x7')][_0x827a('0x24')]=function(_0x334a34){this[_0x827a('0x25')]();if(_['isString'](_0x334a34)){_0x334a34=JSON[_0x827a('0x26')](_0x334a34);}if(_0x334a34 instanceof Array){_0x334a34=_0x334a34['map'](function(_0x143109){_0x143109[_0x827a('0x1a')]=eval('('+_0x143109['condition']+')');_0x143109[_0x827a('0x13')]=eval('('+_0x143109['consequence']+')');return _0x143109;});}else if(_0x334a34!==null&&typeof _0x334a34=='object'){_0x334a34[_0x827a('0x1a')]=eval('('+_0x334a34['condition']+')');_0x334a34['consequence']=eval('('+_0x334a34[_0x827a('0x13')]+')');}this[_0x827a('0x9')](_0x334a34);};module['exports']=RuleEngine;
\ No newline at end of file