Built motion from commit da617fac.|2.6.6
[motion2.git] / server / services / routing / lib / rule-engine.js
index b1688ce..29a54ed 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x3109=['asc','result','clone','consequence','ruleRef','index_','nextTick','isEqual','restart','length','matchPath','noop','findRules','matches','prioritize','condition','toString','fromJSON','isString','parse','map','object','lodash','util','events','EventEmitter','register','ignoreFactChanges','prototype','init','rules','activeRules','isArray','concat','isObject','push','sync','filter','isNil'];(function(_0x5c50a7,_0x1a07bf){var _0x274345=function(_0x22d5b5){while(--_0x22d5b5){_0x5c50a7['push'](_0x5c50a7['shift']());}};_0x274345(++_0x1a07bf);}(_0x3109,0x64));var _0x9310=function(_0x5c099b,_0x23dbb9){_0x5c099b=_0x5c099b-0x0;var _0x9c28cf=_0x3109[_0x5c099b];return _0x9c28cf;};'use strict';var _=require(_0x9310('0x0'));var util=require(_0x9310('0x1'));var EventEmitter=require(_0x9310('0x2'))[_0x9310('0x3')];function RuleEngine(_0x2487e9,_0x145a2c){this['init']();if(!_['isNil'](_0x2487e9)){this[_0x9310('0x4')](_0x2487e9);}if(_0x145a2c){this[_0x9310('0x5')]=_0x145a2c['ignoreFactChanges'];}return this;}util['inherits'](RuleEngine,EventEmitter);RuleEngine[_0x9310('0x6')][_0x9310('0x7')]=function(_0x4b946c){this[_0x9310('0x8')]=[];this[_0x9310('0x9')]=[];};RuleEngine['prototype'][_0x9310('0x4')]=function(_0x38f1aa){if(Array[_0x9310('0xa')](_0x38f1aa)){this[_0x9310('0x8')]=this[_0x9310('0x8')][_0x9310('0xb')](_0x38f1aa);}else if(_0x38f1aa!==null&&_[_0x9310('0xc')](_0x38f1aa)){this[_0x9310('0x8')][_0x9310('0xd')](_0x38f1aa);}this[_0x9310('0xe')]();};RuleEngine[_0x9310('0x6')][_0x9310('0xe')]=function(){this[_0x9310('0x9')]=this[_0x9310('0x8')][_0x9310('0xf')](function(_0xc0926a){if(_[_0x9310('0x10')](_0xc0926a['on'])){_0xc0926a['on']=!![];}if(_0xc0926a['on']===!![]){return _0xc0926a;}});this['activeRules']=_['orderBy'](this[_0x9310('0x9')],['p'],[_0x9310('0x11')]);};RuleEngine[_0x9310('0x6')]['execute']=function(_0x42d684,_0x3e6ac2){var _0x195b32=![];_0x42d684[_0x9310('0x12')]=!![];var _0x27263d=_[_0x9310('0x13')](_0x42d684);var _0x272038=_[_0x9310('0x13')](_0x42d684);var _0x214948=this[_0x9310('0x9')];var _0x2daa1=[];var _0x303a55=this[_0x9310('0x5')];(function FnRuleLoop(_0x7d0bcf){var _0x3f06c6={'rules':function(){return _0x214948;},'rule':function(){return _0x214948[_0x7d0bcf];},'when':function(_0x11ef65){if(_0x11ef65){var _0x552ea9=_0x214948[_0x7d0bcf][_0x9310('0x14')];_0x552ea9[_0x9310('0x15')]=_0x214948[_0x7d0bcf]['id']||_0x214948[_0x7d0bcf]['name']||_0x9310('0x16')+_0x7d0bcf;process[_0x9310('0x17')](function(){_0x2daa1[_0x9310('0xd')](_0x552ea9[_0x9310('0x15')]);_0x552ea9['call'](_0x27263d,_0x3f06c6);});}else{process[_0x9310('0x17')](function(){_0x3f06c6['next']();});}},'restart':function(){return FnRuleLoop(0x0);},'stop':function(){_0x195b32=!![];return FnRuleLoop(0x0);},'next':function(_0x40b656){if(!_0x303a55&&!_[_0x9310('0x18')](_0x272038,_0x27263d)){_0x272038=_[_0x9310('0x13')](_0x27263d);process[_0x9310('0x17')](function(){_0x3f06c6[_0x9310('0x19')]();});}else{process[_0x9310('0x17')](function(){if(_[_0x9310('0x10')](_0x40b656)){return FnRuleLoop(_0x7d0bcf+0x1);}else{return FnRuleLoop(_0x40b656);}});}}};if(_0x7d0bcf<_0x214948[_0x9310('0x1a')]&&_0x195b32===![]){var _0x96dc2c=_0x214948[_0x7d0bcf]['condition'];_0x96dc2c['call'](_0x27263d,_0x3f06c6);}else{process['nextTick'](function(){_0x27263d[_0x9310('0x1b')]=_0x2daa1;return _0x3e6ac2?_0x3e6ac2(_0x27263d):_[_0x9310('0x1c')]();});}}(0x0));};RuleEngine['prototype'][_0x9310('0x1d')]=function(_0x5057c1){if(_[_0x9310('0x10')](_0x5057c1)){return this[_0x9310('0x8')];}else{var _0x3bfdff=_[_0x9310('0x1e')](_0x5057c1);return _[_0x9310('0xf')](this[_0x9310('0x8')],_0x3bfdff);}};RuleEngine['prototype']['turn']=function(_0x578f94,_0x1646fc){var _0x2169ec=_0x578f94==='on'||_0x578f94==='ON'?!![]:![];var _0x43c8af=this[_0x9310('0x1d')](_0x1646fc);for(var _0x19a159=0x0,_0x3bf851=_0x43c8af['length'];_0x19a159<_0x3bf851;_0x19a159+=0x1){_0x43c8af[_0x19a159]['on']=_0x2169ec;}this['sync']();};RuleEngine[_0x9310('0x6')][_0x9310('0x1f')]=function(_0x40454a,_0x341be6){_0x40454a=parseInt(_0x40454a,0xa);var _0x8e25dc=this['findRules'](_0x341be6);for(var _0xad107=0x0,_0x50ee25=_0x8e25dc[_0x9310('0x1a')];_0xad107<_0x50ee25;_0xad107+=0x1){_0x8e25dc[_0xad107]['priority']=_0x40454a;}this[_0x9310('0xe')]();};RuleEngine[_0x9310('0x6')]['toJSON']=function(){var _0x228a37=this[_0x9310('0x8')];if(_0x228a37 instanceof Array){_0x228a37=_0x228a37['map'](function(_0x2db62f){_0x2db62f[_0x9310('0x20')]=_0x2db62f[_0x9310('0x20')]['toString']();_0x2db62f[_0x9310('0x14')]=_0x2db62f[_0x9310('0x14')]['toString']();return _0x2db62f;});}else if(!_[_0x9310('0x10')](_0x228a37)){_0x228a37[_0x9310('0x20')]=_0x228a37[_0x9310('0x20')]['toString']();_0x228a37[_0x9310('0x14')]=_0x228a37[_0x9310('0x14')][_0x9310('0x21')]();}return _0x228a37;};RuleEngine[_0x9310('0x6')][_0x9310('0x22')]=function(_0x8ba38c){this[_0x9310('0x7')]();if(_[_0x9310('0x23')](_0x8ba38c)){_0x8ba38c=JSON[_0x9310('0x24')](_0x8ba38c);}if(_0x8ba38c instanceof Array){_0x8ba38c=_0x8ba38c[_0x9310('0x25')](function(_0x4857f1){_0x4857f1[_0x9310('0x20')]=eval('('+_0x4857f1[_0x9310('0x20')]+')');_0x4857f1[_0x9310('0x14')]=eval('('+_0x4857f1[_0x9310('0x14')]+')');return _0x4857f1;});}else if(_0x8ba38c!==null&&typeof _0x8ba38c==_0x9310('0x26')){_0x8ba38c['condition']=eval('('+_0x8ba38c[_0x9310('0x20')]+')');_0x8ba38c['consequence']=eval('('+_0x8ba38c['consequence']+')');}this[_0x9310('0x4')](_0x8ba38c);};module['exports']=RuleEngine;
\ No newline at end of file
+var _0xe14b=['next','restart','condition','noop','findRules','matches','turn','length','prioritize','priority','toJSON','map','toString','fromJSON','isString','object','register','exports','lodash','util','isNil','ignoreFactChanges','inherits','prototype','init','rules','activeRules','isArray','concat','push','sync','filter','orderBy','asc','execute','result','clone','consequence','ruleRef','name','index_','nextTick','call'];(function(_0x18656a,_0x279775){var _0x10da7c=function(_0x1ada37){while(--_0x1ada37){_0x18656a['push'](_0x18656a['shift']());}};_0x10da7c(++_0x279775);}(_0xe14b,0x93));var _0xbe14=function(_0x4d2702,_0x5dc0a8){_0x4d2702=_0x4d2702-0x0;var _0x253400=_0xe14b[_0x4d2702];return _0x253400;};'use strict';var _=require(_0xbe14('0x0'));var util=require(_0xbe14('0x1'));var EventEmitter=require('events')['EventEmitter'];function RuleEngine(_0x11c3a0,_0x36393a){this['init']();if(!_[_0xbe14('0x2')](_0x11c3a0)){this['register'](_0x11c3a0);}if(_0x36393a){this['ignoreFactChanges']=_0x36393a[_0xbe14('0x3')];}return this;}util[_0xbe14('0x4')](RuleEngine,EventEmitter);RuleEngine[_0xbe14('0x5')][_0xbe14('0x6')]=function(_0x1d9ade){this[_0xbe14('0x7')]=[];this[_0xbe14('0x8')]=[];};RuleEngine['prototype']['register']=function(_0x496063){if(Array[_0xbe14('0x9')](_0x496063)){this[_0xbe14('0x7')]=this[_0xbe14('0x7')][_0xbe14('0xa')](_0x496063);}else if(_0x496063!==null&&_['isObject'](_0x496063)){this['rules'][_0xbe14('0xb')](_0x496063);}this[_0xbe14('0xc')]();};RuleEngine['prototype'][_0xbe14('0xc')]=function(){this[_0xbe14('0x8')]=this[_0xbe14('0x7')][_0xbe14('0xd')](function(_0x27792f){if(_[_0xbe14('0x2')](_0x27792f['on'])){_0x27792f['on']=!![];}if(_0x27792f['on']===!![]){return _0x27792f;}});this[_0xbe14('0x8')]=_[_0xbe14('0xe')](this[_0xbe14('0x8')],['p'],[_0xbe14('0xf')]);};RuleEngine[_0xbe14('0x5')][_0xbe14('0x10')]=function(_0x813399,_0x530538){var _0x55b3a7=![];_0x813399[_0xbe14('0x11')]=!![];var _0x3dc4a9=_[_0xbe14('0x12')](_0x813399);var _0x37ce4e=_['clone'](_0x813399);var _0x21c789=this[_0xbe14('0x8')];var _0xfd7b8f=[];var _0x123ede=this[_0xbe14('0x3')];(function FnRuleLoop(_0x29ab73){var _0x17ae86={'rules':function(){return _0x21c789;},'rule':function(){return _0x21c789[_0x29ab73];},'when':function(_0x5ea1f8){if(_0x5ea1f8){var _0x137ee5=_0x21c789[_0x29ab73][_0xbe14('0x13')];_0x137ee5[_0xbe14('0x14')]=_0x21c789[_0x29ab73]['id']||_0x21c789[_0x29ab73][_0xbe14('0x15')]||_0xbe14('0x16')+_0x29ab73;process[_0xbe14('0x17')](function(){_0xfd7b8f['push'](_0x137ee5[_0xbe14('0x14')]);_0x137ee5[_0xbe14('0x18')](_0x3dc4a9,_0x17ae86);});}else{process[_0xbe14('0x17')](function(){_0x17ae86[_0xbe14('0x19')]();});}},'restart':function(){return FnRuleLoop(0x0);},'stop':function(){_0x55b3a7=!![];return FnRuleLoop(0x0);},'next':function(_0x188ec4){if(!_0x123ede&&!_['isEqual'](_0x37ce4e,_0x3dc4a9)){_0x37ce4e=_[_0xbe14('0x12')](_0x3dc4a9);process['nextTick'](function(){_0x17ae86[_0xbe14('0x1a')]();});}else{process['nextTick'](function(){if(_[_0xbe14('0x2')](_0x188ec4)){return FnRuleLoop(_0x29ab73+0x1);}else{return FnRuleLoop(_0x188ec4);}});}}};if(_0x29ab73<_0x21c789['length']&&_0x55b3a7===![]){var _0x274018=_0x21c789[_0x29ab73][_0xbe14('0x1b')];_0x274018['call'](_0x3dc4a9,_0x17ae86);}else{process[_0xbe14('0x17')](function(){_0x3dc4a9['matchPath']=_0xfd7b8f;return _0x530538?_0x530538(_0x3dc4a9):_[_0xbe14('0x1c')]();});}}(0x0));};RuleEngine['prototype'][_0xbe14('0x1d')]=function(_0x5fa043){if(_[_0xbe14('0x2')](_0x5fa043)){return this[_0xbe14('0x7')];}else{var _0x15ef02=_[_0xbe14('0x1e')](_0x5fa043);return _['filter'](this[_0xbe14('0x7')],_0x15ef02);}};RuleEngine[_0xbe14('0x5')][_0xbe14('0x1f')]=function(_0x169369,_0x5dd475){var _0x16f884=_0x169369==='on'||_0x169369==='ON'?!![]:![];var _0x29fc64=this['findRules'](_0x5dd475);for(var _0x3c3613=0x0,_0x3b3e84=_0x29fc64[_0xbe14('0x20')];_0x3c3613<_0x3b3e84;_0x3c3613+=0x1){_0x29fc64[_0x3c3613]['on']=_0x16f884;}this[_0xbe14('0xc')]();};RuleEngine[_0xbe14('0x5')][_0xbe14('0x21')]=function(_0x31a664,_0x2b05cb){_0x31a664=parseInt(_0x31a664,0xa);var _0x4168c8=this[_0xbe14('0x1d')](_0x2b05cb);for(var _0x40538f=0x0,_0x3bf43c=_0x4168c8[_0xbe14('0x20')];_0x40538f<_0x3bf43c;_0x40538f+=0x1){_0x4168c8[_0x40538f][_0xbe14('0x22')]=_0x31a664;}this[_0xbe14('0xc')]();};RuleEngine[_0xbe14('0x5')][_0xbe14('0x23')]=function(){var _0x2ff48e=this[_0xbe14('0x7')];if(_0x2ff48e instanceof Array){_0x2ff48e=_0x2ff48e[_0xbe14('0x24')](function(_0x581e86){_0x581e86[_0xbe14('0x1b')]=_0x581e86['condition']['toString']();_0x581e86[_0xbe14('0x13')]=_0x581e86['consequence'][_0xbe14('0x25')]();return _0x581e86;});}else if(!_[_0xbe14('0x2')](_0x2ff48e)){_0x2ff48e['condition']=_0x2ff48e['condition']['toString']();_0x2ff48e[_0xbe14('0x13')]=_0x2ff48e[_0xbe14('0x13')]['toString']();}return _0x2ff48e;};RuleEngine[_0xbe14('0x5')][_0xbe14('0x26')]=function(_0x452635){this[_0xbe14('0x6')]();if(_[_0xbe14('0x27')](_0x452635)){_0x452635=JSON['parse'](_0x452635);}if(_0x452635 instanceof Array){_0x452635=_0x452635['map'](function(_0x15a997){_0x15a997['condition']=eval('('+_0x15a997['condition']+')');_0x15a997['consequence']=eval('('+_0x15a997[_0xbe14('0x13')]+')');return _0x15a997;});}else if(_0x452635!==null&&typeof _0x452635==_0xbe14('0x28')){_0x452635[_0xbe14('0x1b')]=eval('('+_0x452635[_0xbe14('0x1b')]+')');_0x452635[_0xbe14('0x13')]=eval('('+_0x452635[_0xbe14('0x13')]+')');}this[_0xbe14('0x29')](_0x452635);};module[_0xbe14('0x2a')]=RuleEngine;
\ No newline at end of file