UNPKG

evelodb

Version:

An awesome local database management system with nodejs. Made by Evelocore. With B-tree Operations.

1 lines 26.1 kB
const _0x22f1a2=_0x3d95;(function(_0x5caf7b,_0x312ebb){const _0x479fd1=_0x3d95,_0x5d0d48=_0x5caf7b();while(!![]){try{const _0x32b699=-parseInt(_0x479fd1(0x258))/0x1+-parseInt(_0x479fd1(0x202))/0x2+parseInt(_0x479fd1(0x1f8))/0x3+parseInt(_0x479fd1(0x225))/0x4*(-parseInt(_0x479fd1(0x227))/0x5)+-parseInt(_0x479fd1(0x224))/0x6+-parseInt(_0x479fd1(0x22b))/0x7*(parseInt(_0x479fd1(0x21f))/0x8)+-parseInt(_0x479fd1(0x216))/0x9*(-parseInt(_0x479fd1(0x254))/0xa);if(_0x32b699===_0x312ebb)break;else _0x5d0d48['push'](_0x5d0d48['shift']());}catch(_0x1bf804){_0x5d0d48['push'](_0x5d0d48['shift']());}}}(_0xbd17,0x5aa4e));const fs=require('fs'),{encrypt,decrypt,generateKey}=require(_0x22f1a2(0x23e)),{BSON,ObjectId}=require(_0x22f1a2(0x1ea)),{GoogleGenAI}=require(_0x22f1a2(0x219)),defaultConfig={'directory':_0x22f1a2(0x244),'extension':_0x22f1a2(0x209),'tabspace':0x3,'encode':_0x22f1a2(0x209),'encryption':null,'encryptionKey':null,'noRepeat':![],'autoPrimaryKey':!![],'objectId':![]};function deepCompare(_0x21fa98,_0x54a6f9){const _0x5907c2=_0x22f1a2;if(typeof _0x21fa98===_0x5907c2(0x1ff)&&typeof _0x54a6f9==='object'){if(Array[_0x5907c2(0x1e0)](_0x21fa98)){if(!Array[_0x5907c2(0x1e0)](_0x54a6f9))return![];if(_0x21fa98[_0x5907c2(0x24b)]!==_0x54a6f9[_0x5907c2(0x24b)])return![];for(let _0x228776=0x0;_0x228776<_0x21fa98[_0x5907c2(0x24b)];_0x228776++){if(!deepCompare(_0x21fa98[_0x228776],_0x54a6f9[_0x228776]))return![];}return!![];}else{const _0x4b4080=Object[_0x5907c2(0x23d)](_0x21fa98),_0x3206e0=Object[_0x5907c2(0x23d)](_0x54a6f9);if(_0x4b4080['length']!==_0x3206e0['length'])return![];for(let _0x5e54e0 of _0x4b4080){if(!deepCompare(_0x21fa98[_0x5e54e0],_0x54a6f9[_0x5e54e0]))return![];}return!![];}}else return _0x21fa98===_0x54a6f9;}class BTreeNode{constructor(_0x37d0ec){const _0x27eb4d=_0x22f1a2;this[_0x27eb4d(0x23d)]=[],this[_0x27eb4d(0x269)]=[],this[_0x27eb4d(0x1f7)]=_0x37d0ec;}}class BTree{constructor(_0x4e7685){const _0x5958a8=_0x22f1a2;this[_0x5958a8(0x260)]=_0x4e7685,this['root']=new BTreeNode(!![]);}[_0x22f1a2(0x25e)](_0x40924b,_0x3c4b64){const _0x52a438=_0x22f1a2;let _0x14a613=this['root'];if(_0x14a613[_0x52a438(0x23d)]['length']===this[_0x52a438(0x260)]-0x1){let _0x5f5640=new BTreeNode(![]);_0x5f5640[_0x52a438(0x269)][_0x52a438(0x1ef)](_0x14a613),this[_0x52a438(0x1ed)](_0x5f5640,0x0),this[_0x52a438(0x24c)]=_0x5f5640;}this['insertNonFull'](this[_0x52a438(0x24c)],[_0x40924b,_0x3c4b64]);}[_0x22f1a2(0x218)](_0x5b0441,_0x24fad3){const _0x24eacd=_0x22f1a2;let _0x240e3d=_0x5b0441[_0x24eacd(0x23d)][_0x24eacd(0x24b)]-0x1;if(_0x5b0441[_0x24eacd(0x1f7)]){_0x5b0441[_0x24eacd(0x23d)][_0x24eacd(0x1ef)](null);while(_0x240e3d>=0x0&&_0x24fad3[0x0]<_0x5b0441[_0x24eacd(0x23d)][_0x240e3d][0x0]){_0x5b0441[_0x24eacd(0x23d)][_0x240e3d+0x1]=_0x5b0441[_0x24eacd(0x23d)][_0x240e3d],_0x240e3d--;}_0x5b0441['keys'][_0x240e3d+0x1]=_0x24fad3;}else{while(_0x240e3d>=0x0&&_0x24fad3[0x0]<_0x5b0441[_0x24eacd(0x23d)][_0x240e3d][0x0]){_0x240e3d--;}_0x240e3d++,_0x5b0441[_0x24eacd(0x269)][_0x240e3d][_0x24eacd(0x23d)][_0x24eacd(0x24b)]===this['order']-0x1&&(this[_0x24eacd(0x1ed)](_0x5b0441,_0x240e3d),_0x24fad3[0x0]>_0x5b0441[_0x24eacd(0x23d)][_0x240e3d][0x0]&&_0x240e3d++),this[_0x24eacd(0x218)](_0x5b0441[_0x24eacd(0x269)][_0x240e3d],_0x24fad3);}}[_0x22f1a2(0x1ed)](_0x1e37fd,_0xc1581){const _0x449fd9=_0x22f1a2;let _0x29d74b=this[_0x449fd9(0x260)],_0x5a541a=_0x1e37fd[_0x449fd9(0x269)][_0xc1581],_0x59b42a=new BTreeNode(_0x5a541a['isLeaf']);_0x1e37fd['keys']['splice'](_0xc1581,0x0,_0x5a541a[_0x449fd9(0x23d)][Math[_0x449fd9(0x252)](_0x29d74b/0x2)]),_0x1e37fd[_0x449fd9(0x269)]['splice'](_0xc1581+0x1,0x0,_0x59b42a),_0x59b42a[_0x449fd9(0x23d)]=_0x5a541a[_0x449fd9(0x23d)]['splice'](Math['floor'](_0x29d74b/0x2)+0x1),!_0x5a541a[_0x449fd9(0x1f7)]&&(_0x59b42a[_0x449fd9(0x269)]=_0x5a541a['children']['splice'](Math['floor'](_0x29d74b/0x2)+0x1));}[_0x22f1a2(0x266)](_0x5148c4){const _0x18b167=_0x22f1a2;let _0x2ae9ce=[];for(let _0x530cbf=0x0;_0x530cbf<_0x5148c4[_0x18b167(0x23d)][_0x18b167(0x24b)];_0x530cbf++){!_0x5148c4['isLeaf']&&(_0x2ae9ce=_0x2ae9ce[_0x18b167(0x1dc)](this[_0x18b167(0x266)](_0x5148c4['children'][_0x530cbf]))),_0x2ae9ce['push'](_0x5148c4['keys'][_0x530cbf][0x1]);}return!_0x5148c4[_0x18b167(0x1f7)]&&_0x5148c4['children'][_0x18b167(0x24b)]>_0x5148c4[_0x18b167(0x23d)][_0x18b167(0x24b)]&&(_0x2ae9ce=_0x2ae9ce[_0x18b167(0x1dc)](this[_0x18b167(0x266)](_0x5148c4[_0x18b167(0x269)][_0x5148c4['keys'][_0x18b167(0x24b)]]))),_0x2ae9ce;}}class QueryResult{constructor(_0x344223){const _0x20db37=_0x22f1a2;this[_0x20db37(0x20c)]=Array['isArray'](_0x344223)?_0x344223:[];}[_0x22f1a2(0x238)](_0x2c7e59=0x0,_0xd59556=0xa){const _0x32b86c=_0x22f1a2;return this[_0x32b86c(0x20c)][_0x32b86c(0x268)](_0x2c7e59,_0x2c7e59+_0xd59556);}[_0x22f1a2(0x228)](){const _0x7af3f2=_0x22f1a2;return this['data'][_0x7af3f2(0x24b)];}[_0x22f1a2(0x1df)](_0x200e66){const _0x33d60b=_0x22f1a2;return new QueryResult([...this[_0x33d60b(0x20c)]][_0x33d60b(0x1df)](_0x200e66));}[_0x22f1a2(0x1f5)](){const _0x3ade79=_0x22f1a2;return this[_0x3ade79(0x20c)];}}function _0x3d95(_0x1654e7,_0x4c58a2){const _0xbd1793=_0xbd17();return _0x3d95=function(_0x3d95d4,_0x6e3df7){_0x3d95d4=_0x3d95d4-0x1dc;let _0xb56b30=_0xbd1793[_0x3d95d4];return _0xb56b30;},_0x3d95(_0x1654e7,_0x4c58a2);}class eveloDB{constructor(_0xe866b2={}){const _0x511ab8=_0x22f1a2;this[_0x511ab8(0x233)]={...defaultConfig,..._0xe866b2};if(this[_0x511ab8(0x233)][_0x511ab8(0x1dd)]===_0x511ab8(0x1ea)&&this['config'][_0x511ab8(0x204)]&&this[_0x511ab8(0x233)][_0x511ab8(0x241)])throw new Error(_0x511ab8(0x1e5));this[_0x511ab8(0x233)][_0x511ab8(0x1dd)]===_0x511ab8(0x1ea)&&(!_0xe866b2[_0x511ab8(0x262)]&&(this[_0x511ab8(0x233)][_0x511ab8(0x262)]=_0x511ab8(0x1ea)),this['config'][_0x511ab8(0x206)]=0x0,this['config']['encryption']=null,this[_0x511ab8(0x233)][_0x511ab8(0x241)]=null);if(this[_0x511ab8(0x233)][_0x511ab8(0x204)]){const _0x50432b=this[_0x511ab8(0x233)]['encryptionKey'],_0xbadc53=this['config'][_0x511ab8(0x204)];if(!_0x50432b)throw new Error('Encryption\x20key\x20required\x20when\x20encryption\x20is\x20enabled');const _0x1e6070={'aes-128-cbc':0x20,'aes-192-cbc':0x30,'aes-256-cbc':0x40,'aes-128-gcm':0x20,'aes-256-gcm':0x40},_0x37953d=_0x1e6070[_0xbadc53];if(!_0x37953d)throw new Error('Unsupported\x20encryption\x20algorithm:\x20'+_0xbadc53);if(_0x50432b['length']!==_0x37953d)throw new Error(_0xbadc53['toUpperCase']()+_0x511ab8(0x1de)+_0x37953d+_0x511ab8(0x203)+_0x37953d/0x2+_0x511ab8(0x267));}this[_0x511ab8(0x23a)]=new BTree(0x3),!fs[_0x511ab8(0x22f)](this[_0x511ab8(0x233)][_0x511ab8(0x264)])&&fs[_0x511ab8(0x1f9)](this['config'][_0x511ab8(0x264)],{'recursive':!![]});}[_0x22f1a2(0x212)](_0x24757a){const _0x113adf=_0x22f1a2;if(this[_0x113adf(0x233)][_0x113adf(0x1dd)]===_0x113adf(0x1ea))return _0x24757a;return encrypt(_0x24757a,this[_0x113adf(0x233)][_0x113adf(0x204)],this[_0x113adf(0x233)][_0x113adf(0x241)]);}[_0x22f1a2(0x250)](_0x47cf37){const _0x14aa56=_0x22f1a2;if(this[_0x14aa56(0x233)][_0x14aa56(0x1dd)]===_0x14aa56(0x1ea))return _0x47cf37;return decrypt(_0x47cf37,this['config']['encryption'],this['config'][_0x14aa56(0x241)]);}[_0x22f1a2(0x259)](_0xabce10){const _0x154193=_0x22f1a2;if(this[_0x154193(0x233)]['encode']===_0x154193(0x1ea)){const _0x4d7b7f={'db':_0xabce10};return BSON[_0x154193(0x229)](_0x4d7b7f);}if(this[_0x154193(0x233)][_0x154193(0x1dd)]===_0x154193(0x209))return JSON[_0x154193(0x235)](_0xabce10,null,this['config'][_0x154193(0x206)]);return JSON[_0x154193(0x235)](_0xabce10,null,this[_0x154193(0x233)][_0x154193(0x206)]);}[_0x22f1a2(0x226)](_0x1faed2){const _0x54cd6e=_0x22f1a2;if(this[_0x54cd6e(0x233)][_0x54cd6e(0x1dd)]==='bson'){const {db:_0x3b6284}=BSON[_0x54cd6e(0x230)](_0x1faed2);return _0x3b6284;}if(this['config'][_0x54cd6e(0x1dd)]===_0x54cd6e(0x209))return JSON[_0x54cd6e(0x22a)](_0x1faed2);return JSON[_0x54cd6e(0x22a)](_0x1faed2);}[_0x22f1a2(0x263)](_0x66fcc){const _0x538029=_0x22f1a2,_0x566f70=this[_0x538029(0x233)]['encode']===_0x538029(0x1ea)?fs[_0x538029(0x213)](_0x66fcc):fs[_0x538029(0x213)](_0x66fcc,_0x538029(0x1e9)),_0x19540d=this['config'][_0x538029(0x204)]?this[_0x538029(0x250)](_0x566f70):this[_0x538029(0x226)](_0x566f70);return _0x19540d;}['writeFileData'](_0x590c10,_0xbf26cd){const _0x1517f1=_0x22f1a2,_0x3fb949=this['config'][_0x1517f1(0x204)]?this[_0x1517f1(0x212)](_0xbf26cd):this[_0x1517f1(0x259)](_0xbf26cd);return fs[_0x1517f1(0x1fe)](_0x590c10,_0x3fb949),!![];}[_0x22f1a2(0x234)](_0x339605){return generateKey(_0x339605);}['getFilePath'](_0x22e644){const _0x1076f2=_0x22f1a2;return this[_0x1076f2(0x233)][_0x1076f2(0x264)]+'/'+_0x22e644+'.'+this[_0x1076f2(0x233)]['extension'];}[_0x22f1a2(0x20b)](_0x5f5a25,_0x39bb29){const _0x2b8ffd=_0x22f1a2;if(!_0x5f5a25)return{'err':_0x2b8ffd(0x20e)};if(!_0x39bb29||typeof _0x39bb29!==_0x2b8ffd(0x1ff))return{'err':'Valid\x20data\x20object\x20required'};const _0x2a405f=this[_0x2b8ffd(0x1e2)](_0x5f5a25);let _0x5b3d66=[];if(fs[_0x2b8ffd(0x22f)](_0x2a405f)){_0x5b3d66=this[_0x2b8ffd(0x263)](_0x2a405f);if(this[_0x2b8ffd(0x233)]['noRepeat']){const _0x1635dd=_0x5b3d66['some'](_0x1284b5=>{const _0x4c129f=_0x2b8ffd;return Object[_0x4c129f(0x23d)](_0x39bb29)[_0x4c129f(0x240)](_0x49e277=>{const _0x2a491f=_0x4c129f;if(_0x49e277===_0x2a491f(0x236))return!![];return deepCompare(_0x1284b5[_0x49e277],_0x39bb29[_0x49e277]);})&&Object[_0x4c129f(0x23d)](_0x39bb29)[_0x4c129f(0x240)](_0x4fe934=>_0x4fe934 in _0x1284b5);});if(_0x1635dd)return{'err':_0x2b8ffd(0x1f0),'code':_0x2b8ffd(0x217)};}}const _0x195887={..._0x39bb29};let _0x59225c;return this[_0x2b8ffd(0x233)][_0x2b8ffd(0x200)]&&(_0x59225c=typeof this[_0x2b8ffd(0x233)][_0x2b8ffd(0x200)]==='string'&&this['config'][_0x2b8ffd(0x200)]['length']>0x0?this[_0x2b8ffd(0x233)]['autoPrimaryKey']:'_id',!_0x195887[_0x2b8ffd(0x261)](_0x59225c)&&(_0x195887[_0x59225c]=this[_0x2b8ffd(0x232)]())),_0x5b3d66['push'](_0x195887),this[_0x2b8ffd(0x257)](_0x2a405f,_0x5b3d66),_0x195887[_0x2b8ffd(0x239)]&&this['btree'][_0x2b8ffd(0x25e)](_0x195887[_0x2b8ffd(0x239)],_0x195887),{'success':!![],..._0x59225c&&_0x195887[_0x59225c]?{[_0x59225c]:_0x195887[_0x59225c]}:{}};}[_0x22f1a2(0x215)](_0x595e90,_0x4a9048){const _0x191342=_0x22f1a2;if(!_0x595e90)return{'err':_0x191342(0x25f)};if(!_0x4a9048)return{'err':'conditions\x20required!'};const _0x365ed0=this[_0x191342(0x1e2)](_0x595e90);if(!fs['existsSync'](_0x365ed0))return{'err':0x194};let _0x2354d4=this[_0x191342(0x263)](_0x365ed0);const _0x78101b=_0x2354d4['length'],_0x4240fe=_0x2354d4[_0x191342(0x21e)](_0x1e1bb4=>!this[_0x191342(0x25a)](_0x1e1bb4,_0x4a9048)),_0x5a812c=_0x78101b-_0x4240fe[_0x191342(0x24b)];return this['writeFileData'](_0x365ed0,_0x4240fe),{'success':!![],'deletedCount':_0x5a812c};}[_0x22f1a2(0x22d)](_0x3e81b5,_0x3e0754){const _0x321836=_0x22f1a2;if(!_0x3e81b5)return{'err':_0x321836(0x25f)};if(!_0x3e0754)return{'err':_0x321836(0x221)};const _0x4daa08=this[_0x321836(0x1e2)](_0x3e81b5);return this[_0x321836(0x257)](_0x4daa08,_0x3e0754),{'success':!![]};}[_0x22f1a2(0x1fc)](_0x10e5bd,_0x920db3){const _0xcc2a4e=_0x22f1a2;if(!_0x10e5bd)return{'err':'collection\x20required!'};if(!_0x920db3)return{'err':_0xcc2a4e(0x221)};const _0x1d30de=this[_0xcc2a4e(0x1e2)](_0x10e5bd);return this[_0xcc2a4e(0x257)](_0x1d30de,_0x920db3),{'success':!![]};}['find'](_0x60cd05,_0x50d14a){const _0x3847f9=_0x22f1a2;if(!_0x60cd05)return{'err':_0x3847f9(0x25f)};if(!_0x50d14a)return{'err':_0x3847f9(0x20a)};const _0x28ca99=this[_0x3847f9(0x1e2)](_0x60cd05);if(!fs['existsSync'](_0x28ca99))return new QueryResult([]);const _0x9b993c=this[_0x3847f9(0x263)](_0x28ca99),_0x4153d6=_0x9b993c['filter'](_0x15718a=>this['matchesConditions'](_0x15718a,_0x50d14a));return new QueryResult(_0x4153d6);}[_0x22f1a2(0x220)](_0x40648e,_0x3b56a2){const _0x4553dc=_0x22f1a2;if(!_0x40648e)return{'err':_0x4553dc(0x25f)};if(!_0x3b56a2)return{'err':_0x4553dc(0x20a)};const _0x46efb9=this[_0x4553dc(0x1e2)](_0x40648e);if(!fs[_0x4553dc(0x22f)](_0x46efb9))return null;const _0xc3a89d=this[_0x4553dc(0x263)](_0x46efb9);return _0xc3a89d[_0x4553dc(0x255)](_0x345c3e=>this[_0x4553dc(0x25a)](_0x345c3e,_0x3b56a2))||null;}['search'](_0x107794,_0x277e2b){const _0x354ed4=_0x22f1a2;if(!_0x107794)return{'err':'collection\x20required!'};if(!_0x277e2b)return{'err':_0x354ed4(0x20a)};const _0x24f076=this[_0x354ed4(0x1e2)](_0x107794);if(!fs[_0x354ed4(0x22f)](_0x24f076))return new QueryResult([]);const _0x1f4831=this['readFileData'](_0x24f076),_0x3bf9d2=_0x1f4831[_0x354ed4(0x21e)](_0x45e643=>{const _0x1948b9=_0x354ed4;return Object[_0x1948b9(0x246)](_0x277e2b)[_0x1948b9(0x240)](([_0x1aa601,_0x203ebd])=>{const _0x5ae758=_0x1948b9,_0x567c5d=_0x45e643[_0x1aa601];if(_0x567c5d===undefined||_0x567c5d===null)return![];if(_0x203ebd&&typeof _0x203ebd==='object'&&_0x203ebd[_0x5ae758(0x237)]){const _0x5075d7=_0x203ebd[_0x5ae758(0x237)],_0x3bf523=_0x203ebd[_0x5ae758(0x1e4)]||'i',_0x38be7a=new RegExp(_0x5075d7,_0x3bf523);return _0x38be7a[_0x5ae758(0x201)](_0x567c5d[_0x5ae758(0x251)]());}return _0x567c5d[_0x5ae758(0x251)]()[_0x5ae758(0x214)]()[_0x5ae758(0x21a)](_0x203ebd['toString']()[_0x5ae758(0x214)]());});});return new QueryResult(_0x3bf9d2);}['get'](_0x1eeca2){const _0x587f2a=_0x22f1a2;if(!_0x1eeca2)return{'err':_0x587f2a(0x25f)};const _0x3d21fa=this['getFilePath'](_0x1eeca2);if(!fs['existsSync'](_0x3d21fa))return new QueryResult(undefined);const _0x5009a6=this[_0x587f2a(0x263)](_0x3d21fa);return new QueryResult(_0x5009a6);}[_0x22f1a2(0x208)](_0x51a0b8){const _0x49bdc8=_0x22f1a2;if(!_0x51a0b8)return{'err':_0x49bdc8(0x25f)};const _0x2ddceb=this[_0x49bdc8(0x1e2)](_0x51a0b8);if(!fs[_0x49bdc8(0x22f)](_0x2ddceb))return undefined;const _0x2678a1=this[_0x49bdc8(0x263)](_0x2ddceb);return _0x2678a1;}[_0x22f1a2(0x228)](_0x4f6b3e){const _0x35e6c1=_0x22f1a2;if(!_0x4f6b3e)return{'success':![],'err':_0x35e6c1(0x25f)};const _0x112906=this[_0x35e6c1(0x24a)](_0x4f6b3e)['all']();if(!_0x112906)return{'success':![],'err':_0x35e6c1(0x253)};if(!Array[_0x35e6c1(0x1e0)](_0x112906))return{'success':![],'err':'Invalid\x20collection\x20data\x20format'};return{'success':!![],'count':_0x112906[_0x35e6c1(0x24b)]};}[_0x22f1a2(0x1e7)](_0x48c711,_0x4efd9e){const _0x205163=_0x22f1a2;if(!_0x48c711)return{'err':_0x205163(0x25f)};if(!_0x4efd9e)return{'err':'conditions\x20required!'};return this['find'](_0x48c711,_0x4efd9e)[_0x205163(0x1f5)]()['length']>0x0;}['edit'](_0x40b718,_0x2408fb,_0x6e4c11){const _0x2bfa3c=_0x22f1a2;if(!_0x40b718)return{'err':_0x2bfa3c(0x20e)};if(!_0x2408fb)return{'err':_0x2bfa3c(0x1ee)};if(!_0x6e4c11)return{'err':_0x2bfa3c(0x23f)};const _0x29e695=this['getFilePath'](_0x40b718);if(!fs['existsSync'](_0x29e695))return{'err':_0x2bfa3c(0x253),'code':0x194};let _0x42ea6c=this[_0x2bfa3c(0x263)](_0x29e695),_0x335800=0x0,_0x5bdea1=![];const _0x3db57b=_0x42ea6c[_0x2bfa3c(0x248)](_0x56a922=>{const _0x47e18a=_0x2bfa3c;if(this[_0x47e18a(0x25a)](_0x56a922,_0x2408fb)){const _0x279e06={..._0x56a922,..._0x6e4c11};if(this[_0x47e18a(0x233)][_0x47e18a(0x1fa)]){const _0x1e3915=_0x42ea6c['some'](_0xfc2aaa=>{const _0x3734a0=_0x47e18a;if(_0xfc2aaa[_0x3734a0(0x236)]&&_0x56a922[_0x3734a0(0x236)]&&_0xfc2aaa[_0x3734a0(0x236)]===_0x56a922[_0x3734a0(0x236)])return![];return Object[_0x3734a0(0x23d)](_0x6e4c11)['every'](_0x3dde0d=>{if(_0x3dde0d==='__id')return![];return deepCompare(_0xfc2aaa[_0x3dde0d],_0x279e06[_0x3dde0d]);});});if(_0x1e3915)return _0x5bdea1=!![],_0x56a922;}return _0x335800++,_0x279e06;}return _0x56a922;});if(_0x5bdea1)return{'err':'Edit\x20would\x20create\x20duplicate\x20data\x20(noRepeat\x20enabled)','code':_0x2bfa3c(0x217)};if(_0x335800===0x0)return{'err':_0x2bfa3c(0x265),'code':_0x2bfa3c(0x21d)};return this[_0x2bfa3c(0x257)](_0x29e695,_0x3db57b),{'success':!![],'modifiedCount':_0x335800};}[_0x22f1a2(0x210)](_0xba02fd){const _0x25635e=_0x22f1a2;if(!_0xba02fd)return{'err':'collection\x20required!'};const _0x1a7f1a=this[_0x25635e(0x1e2)](_0xba02fd);return fs[_0x25635e(0x22f)](_0x1a7f1a)?(fs[_0x25635e(0x1fb)](_0x1a7f1a),{'success':!![]}):{'err':0x194};}['reset'](_0x2b0272){const _0x3cec6d=_0x22f1a2;return this[_0x3cec6d(0x210)](_0x2b0272);}['changeConfig']({from:_0x1d39da,to:_0x7b15b1,collections:_0x115d55}){const _0x4cb1b9=_0x22f1a2;if(this['config'][_0x4cb1b9(0x1dd)]!==_0x4cb1b9(0x209)&&(_0x1d39da[_0x4cb1b9(0x204)]||_0x1d39da[_0x4cb1b9(0x241)]||_0x7b15b1['encryption']||_0x7b15b1[_0x4cb1b9(0x241)]))throw new Error(_0x4cb1b9(0x245));const _0x281d88=require(_0x4cb1b9(0x21c)),_0x344292=fs[_0x4cb1b9(0x1f6)](_0x1d39da[_0x4cb1b9(0x264)]||this[_0x4cb1b9(0x233)][_0x4cb1b9(0x264)]),{encrypt:_0x369b45,decrypt:_0x58172f}=require(_0x4cb1b9(0x23e)),_0x39d6a9={'aes-128-cbc':0x20,'aes-192-cbc':0x30,'aes-256-cbc':0x40,'aes-128-gcm':0x20,'aes-256-gcm':0x40},_0x29b2d1=(_0x1487e6,_0x3fda13)=>{const _0x538011=_0x4cb1b9;if(!_0x3fda13)return;if(!_0x1487e6||_0x1487e6[_0x538011(0x24b)]!==_0x39d6a9[_0x3fda13])throw new Error(_0x3fda13+'\x20requires\x20'+_0x39d6a9[_0x3fda13]+_0x538011(0x1f1));};_0x29b2d1(_0x1d39da[_0x4cb1b9(0x241)],_0x1d39da['encryption']),_0x29b2d1(_0x7b15b1[_0x4cb1b9(0x241)],_0x7b15b1['encryption']);let _0x41b562=0x0,_0x32ce11=0x0;const _0x57a17f=_0x1d39da[_0x4cb1b9(0x262)]||this[_0x4cb1b9(0x233)][_0x4cb1b9(0x262)],_0x4908a6=_0x7b15b1['extension']||this[_0x4cb1b9(0x233)]['extension'],_0x35a1c1=_0x1d39da[_0x4cb1b9(0x264)]||this[_0x4cb1b9(0x233)][_0x4cb1b9(0x264)],_0x1af31e=_0x7b15b1[_0x4cb1b9(0x264)]||this[_0x4cb1b9(0x233)]['directory'];!fs[_0x4cb1b9(0x22f)](_0x1af31e)&&fs[_0x4cb1b9(0x1f9)](_0x1af31e,{'recursive':!![]});_0x344292['forEach'](_0x148802=>{const _0xe9d3bb=_0x4cb1b9,_0x7f8a81=_0x281d88[_0xe9d3bb(0x1e6)](_0x148802)['slice'](0x1),_0x356110=_0x281d88[_0xe9d3bb(0x22c)](_0x148802,'.'+_0x7f8a81);if(_0x7f8a81!==_0x57a17f)return;if(_0x115d55&&!_0x115d55[_0xe9d3bb(0x21a)](_0x356110))return;const _0x4b9c0d=_0x281d88[_0xe9d3bb(0x20d)](_0x35a1c1,_0x148802),_0x1ce08e=_0x281d88['join'](_0x1af31e,_0x356110+'.'+_0x4908a6);try{const _0x1dc599=fs['readFileSync'](_0x4b9c0d,'utf8'),_0xdfc759=_0x1d39da[_0xe9d3bb(0x204)]?_0x58172f(_0x1dc599,_0x1d39da['encryption'],_0x1d39da[_0xe9d3bb(0x241)]):JSON[_0xe9d3bb(0x22a)](_0x1dc599),_0x2e3c9f=_0x7b15b1[_0xe9d3bb(0x204)]?_0x369b45(_0xdfc759,_0x7b15b1[_0xe9d3bb(0x204)],_0x7b15b1[_0xe9d3bb(0x241)]):JSON[_0xe9d3bb(0x235)](_0xdfc759,null,0x3);fs[_0xe9d3bb(0x1fe)](_0x1ce08e,_0x2e3c9f),_0x41b562++,_0x4b9c0d!==_0x1ce08e&&fs[_0xe9d3bb(0x22f)](_0x4b9c0d)&&fs[_0xe9d3bb(0x1fb)](_0x4b9c0d);}catch(_0x3480e3){console[_0xe9d3bb(0x23c)](_0xe9d3bb(0x247)+_0x148802+':\x20'+_0x3480e3['message']),_0x32ce11++;}});if(_0x35a1c1!==_0x1af31e&&fs[_0x4cb1b9(0x22f)](_0x35a1c1)){const _0x173616=fs[_0x4cb1b9(0x1f6)](_0x35a1c1);_0x173616['length']===0x0&&fs[_0x4cb1b9(0x207)](_0x35a1c1,{'recursive':!![]});}return{'success':!![],'converted':_0x41b562,'failed':_0x32ce11};}async[_0x22f1a2(0x1e3)]({collection:_0x4c26fc,filter:_0x4c168b,data:_0x21e695,model:_0xee4662,apiKey:_0x116145,query:_0x5101a1}){const _0x1f12e8=_0x22f1a2;if(_0x21e695&&!Array['isArray'](_0x21e695))return{'success':![],'err':_0x1f12e8(0x1f4)};if(_0x21e695&&_0x4c26fc)return{'success':![],'err':_0x1f12e8(0x222)};if(_0x4c168b&&typeof _0x4c168b!==_0x1f12e8(0x1ff))return{'success':![],'err':_0x1f12e8(0x24f)};if(!_0xee4662)return{'success':![],'err':'Model\x20is\x20required'};if(!_0x116145)return{'success':![],'err':_0x1f12e8(0x1f3)};if(!_0x5101a1)return{'success':![],'err':_0x1f12e8(0x1ec)};if(_0x5101a1[_0x1f12e8(0x24b)]>0x400)return{'success':![],'err':_0x1f12e8(0x211)};var _0x2ea306=_0x21e695||this[_0x1f12e8(0x24a)](_0x4c26fc)[_0x1f12e8(0x1f5)]();_0x4c168b&&(_0x2ea306=_0x2ea306[_0x1f12e8(0x21e)](_0x2f05f8=>this['matchesConditions'](_0x2f05f8,_0x4c168b)));if(_0x2ea306['length']==0x0)return{'success':![],'err':'No\x20matching\x20data\x20found'};const _0xf6916a=new GoogleGenAI({'apiKey':_0x116145}),_0x512c01=_0x1f12e8(0x249)+JSON[_0x1f12e8(0x235)](_0x2ea306,null,0x2)+'\x0a\x0a\x20\x20\x20\x20Conditions:\x0a\x20\x20\x20\x20'+_0x5101a1+'\x0a\x0a\x20\x20\x20\x20Important\x20Rules:\x0a\x20\x20\x20\x201.\x20Only\x20return\x20valid\x20JSON\x20in\x20the\x20specified\x20format\x0a\x20\x20\x20\x202.\x20\x22indexes\x22\x20must\x20be\x20array\x20of\x20numbers\x20matching\x20data\x20array\x20indices\x0a\x20\x20\x20\x203.\x20\x22reason\x22\x20should\x20explain\x20your\x20selection\x20logic\x0a\x20\x20\x20\x204.\x20Keep\x20the\x20response\x20concise\x20but\x20meaningful\x0a\x20\x20\x20\x20';try{const _0x55348e=await _0xf6916a[_0x1f12e8(0x242)][_0x1f12e8(0x1f2)]({'model':_0xee4662,'contents':_0x512c01}),_0x396194=_0x55348e[_0x1f12e8(0x205)],_0x4bbe98=_0x396194[_0x1f12e8(0x1eb)](/```json|```/g,'')[_0x1f12e8(0x1e1)](),_0x2598c5=JSON['parse'](_0x4bbe98);if(!_0x2598c5[_0x1f12e8(0x1fd)]||!Array[_0x1f12e8(0x1e0)](_0x2598c5[_0x1f12e8(0x1fd)]))throw new Error('Invalid\x20response\x20format:\x20missing\x20indexes\x20array');return{'success':!![],'response':{..._0x2598c5,'data':_0x2598c5[_0x1f12e8(0x1fd)][_0x1f12e8(0x248)](_0x283627=>_0x2ea306[_0x283627])}};}catch(_0x34dee4){return console[_0x1f12e8(0x23c)](_0x1f12e8(0x24e),_0x34dee4),{'success':![],'err':_0x34dee4[_0x1f12e8(0x256)]||_0x1f12e8(0x243)};}}['rebuildBTree'](_0x2a0881){const _0x3bead7=_0x22f1a2;if(!_0x2a0881)return{'err':_0x3bead7(0x25f)};const _0x1ea1a6=this[_0x3bead7(0x1e2)](_0x2a0881);if(!fs[_0x3bead7(0x22f)](_0x1ea1a6))return{'err':0x194};let _0xee56f0=this[_0x3bead7(0x263)](_0x1ea1a6);this[_0x3bead7(0x23a)]=new BTree(0x3),_0xee56f0['forEach'](_0x11af80=>{const _0x4b8590=_0x3bead7;_0x11af80[_0x4b8590(0x239)]?this[_0x4b8590(0x23a)][_0x4b8590(0x25e)](_0x11af80[_0x4b8590(0x239)],_0x11af80):console[_0x4b8590(0x23c)](_0x4b8590(0x25d),_0x11af80);});}[_0x22f1a2(0x25a)](_0x48da22,_0x3cf3a9){const _0x3caf47=_0x22f1a2;return Object[_0x3caf47(0x246)](_0x3cf3a9)[_0x3caf47(0x240)](([_0x2ff23c,_0x5b5b1a])=>{const _0x46afe4=_0x3caf47,_0xe4041=_0x48da22[_0x2ff23c];if(typeof _0x5b5b1a===_0x46afe4(0x1ff)&&_0x5b5b1a!==null&&!Array[_0x46afe4(0x1e0)](_0x5b5b1a))return Object[_0x46afe4(0x246)](_0x5b5b1a)[_0x46afe4(0x240)](([_0x5078e1,_0x3e0284])=>{const _0x111135=_0x46afe4;switch(_0x5078e1){case _0x111135(0x231):return _0xe4041===_0x3e0284;case _0x111135(0x24d):return _0xe4041!==_0x3e0284;case _0x111135(0x223):return _0xe4041>_0x3e0284;case'$gte':return _0xe4041>=_0x3e0284;case'$lt':return _0xe4041<_0x3e0284;case _0x111135(0x22e):return _0xe4041<=_0x3e0284;case _0x111135(0x20f):return Array[_0x111135(0x1e0)](_0x3e0284)&&_0x3e0284[_0x111135(0x21a)](_0xe4041);case _0x111135(0x1e8):return Array['isArray'](_0x3e0284)&&!_0x3e0284['includes'](_0xe4041);default:return![];}});return _0xe4041===_0x5b5b1a;});}['getAllFromBTree'](){const _0x199dc8=_0x22f1a2;return this[_0x199dc8(0x23a)]['traverse'](this[_0x199dc8(0x23a)]['root']);}[_0x22f1a2(0x232)](){const _0x25b852=_0x22f1a2;if(this[_0x25b852(0x233)][_0x25b852(0x1dd)]===_0x25b852(0x1ea)&&this[_0x25b852(0x233)]['objectId'])return new ObjectId();const _0x12c1eb=Date[_0x25b852(0x25c)]()[_0x25b852(0x251)](0x24),_0x3f4d94=Math[_0x25b852(0x21b)]()[_0x25b852(0x251)](0x24)[_0x25b852(0x23b)](0x2,0xa);return _0x12c1eb+'_'+_0x3f4d94;}}module[_0x22f1a2(0x25b)]=eveloDB;function _0xbd17(){const _0x29a4f9=['now','Item\x20is\x20missing\x20a\x20token:','insert','collection\x20required!','order','hasOwnProperty','extension','readFileData','directory','No\x20matching\x20records\x20found','traverse','\x20bytes)','slice','children','concat','encode','\x20requires\x20a\x20','sort','isArray','trim','getFilePath','analyse','$options','BSON\x20encoding\x20does\x20not\x20support\x20encryption.\x20Please\x20set\x20\x22encryption\x22\x20and\x20\x22encryptionKey\x22\x20to\x20null\x20or\x20use\x20\x22json\x22\x20encoding.','extname','check','$nin','utf8','bson','replace','Query\x20is\x20required','splitChild','Conditions\x20required','push','Duplicate\x20data\x20-\x20record\x20already\x20exists\x20(noRepeat\x20enabled)','\x20hex\x20characters','generateContent','API\x20Key\x20is\x20required','Data\x20must\x20be\x20an\x20array','all','readdirSync','isLeaf','25599woJjvz','mkdirSync','noRepeat','unlinkSync','writeData','indexes','writeFileSync','object','autoPrimaryKey','test','836612GSBMVV','-character\x20hex\x20key\x20(','encryption','text','tabspace','rmdirSync','readData','json','conditions\x20required!','create','data','join','Collection\x20name\x20required','$in','drop','Query\x20exceeds\x20maximum\x20length\x20of\x201024\x20characters','encrypt','readFileSync','toLowerCase','delete','36YNmMma','DUPLICATE_DATA','insertNonFull','@google/genai','includes','random','path','NO_MATCH','filter','2312bEDfxf','findOne','data\x20required!','Cannot\x20specify\x20collection\x20when\x20data\x20is\x20provided','$gt','4104870fziyHv','774812ATzMfB','decodeData','5HNuVBw','count','serialize','parse','5628hRMJqy','basename','inject','$lte','existsSync','deserialize','$eq','generateUniqueId','config','generateKey','stringify','__id','$regex','getList','token','btree','substring','error','keys','./encryption','New\x20data\x20required','every','encryptionKey','models','Failed\x20to\x20process\x20AI\x20response','./evelodatabase','Cannot\x20change\x20encryption\x20settings\x20while\x20encoding\x20is\x20not\x20JSON','entries','Failed\x20to\x20convert\x20','map','\x0a\x20\x20\x20\x20Analyze\x20the\x20following\x20data\x20array\x20according\x20to\x20the\x20specified\x20conditions.\x0a\x20\x20\x20\x20Return\x20a\x20JSON\x20response\x20with\x20the\x20exact\x20structure\x20shown\x20in\x20the\x20example.\x0a\x0a\x20\x20\x20\x20Example\x20Response\x20Format:\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22indexes\x22:\x20[0,\x202,\x203],\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22reason\x22:\x20\x22These\x20items\x20match\x20the\x20criteria\x20because...\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20\x22Additional\x20insights\x20about\x20the\x20selection\x22\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20Data\x20to\x20Analyze:\x0a\x20\x20\x20\x20','get','length','root','$ne','AI\x20Analysis\x20Error:','Filter\x20must\x20be\x20an\x20object','decrypt','toString','floor','Collection\x20not\x20found','4877830nHgsjP','find','message','writeFileData','59877RAxHND','encodeData','matchesConditions','exports'];_0xbd17=function(){return _0x29a4f9;};return _0xbd17();}