json2dart-generator 1.0.2 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -22,6 +22,7 @@ Options:
22
22
  -e, --excludes <value...> 需要排除的文件或文件夹,可指定多个文件
23
23
  --numparse 使用num数据类型而不是double/int
24
24
  --nullsafety 是否启用空安全
25
+ --mock 是否生成Mock类(随机数据生成工具)
25
26
  ```
26
27
 
27
28
  - 备注:
@@ -38,7 +39,7 @@ json2dart --help
38
39
  - 执行命令
39
40
 
40
41
  ```bash
41
- json2dart --dir .json_models -o lib/models --nullsafety --numparse
42
+ json2dart --dir .json_models -o lib/models --nullsafety --numparse --mock
42
43
  ```
43
44
 
44
45
  ### 示例
@@ -1 +1,4 @@
1
- export declare function jsonToDart(value: any, className: string, suffix: string, nullSafety: boolean, numparse: boolean, isRoot?: boolean): string;
1
+ export declare function jsonToDart(value: any, className: string, suffix: string, nullSafety: boolean, numparse: boolean, isRoot?: boolean): {
2
+ context: string;
3
+ className?: string;
4
+ };
@@ -1 +1 @@
1
- 'use strict';const a0_0x5ddc03=a0_0x1405;(function(_0x16f01e,_0x5c125b){const _0x9d99d2=a0_0x1405,_0x12fb9e=_0x16f01e();while(!![]){try{const _0x1ed970=parseInt(_0x9d99d2(0x205))/0x1*(-parseInt(_0x9d99d2(0x212))/0x2)+-parseInt(_0x9d99d2(0x222))/0x3+parseInt(_0x9d99d2(0x1f8))/0x4+-parseInt(_0x9d99d2(0x1e8))/0x5*(parseInt(_0x9d99d2(0x229))/0x6)+-parseInt(_0x9d99d2(0x1f2))/0x7*(-parseInt(_0x9d99d2(0x22f))/0x8)+parseInt(_0x9d99d2(0x23c))/0x9+-parseInt(_0x9d99d2(0x234))/0xa;if(_0x1ed970===_0x5c125b)break;else _0x12fb9e['push'](_0x12fb9e['shift']());}catch(_0x41a588){_0x12fb9e['push'](_0x12fb9e['shift']());}}}(a0_0x5752,0xa77f1));function a0_0x1405(_0x35232f,_0x5a87a7){_0x35232f=_0x35232f-0x1e6;const _0x575225=a0_0x5752();let _0x140589=_0x575225[_0x35232f];return _0x140589;}Object[a0_0x5ddc03(0x232)](exports,'__esModule',{'value':!![]}),exports['jsonToDart']=jsonToDart;const js_utils_plus_1=require(a0_0x5ddc03(0x226));function a0_0x5752(){const _0x2ebb58=['case','isString','53525leXieN','({\x0a','await','\x20\x20\x20\x20this.','yield','finally','?.toJson()','part','bool','typedef','56zwKEuX','dynamic','test','\x20\x20Map<String,\x20dynamic>\x20toJson()\x20=>\x20{\x0a','throw','isObject','4897620glNsBf','show','double.tryParse(','isNumber','\x20\x20\x20\x20','?.toString()\x20??\x20\x27\x27)','?.map((e)\x20=>\x20','implements','?.toString()','\x20=\x20','double','deferred','num','439htsytj','-\x20警告!:','new','isBoolean','try','Function','the','for','final','get','join','external','default','3896ciSIAc','hide','interface','factory','List<','log','isArray','var','assert','uppercaseFirst','String','covariant','json?[','else','class','int','3642045xdZKbI','\x20类包含值为\x22空\x22的属性,将被默认视为”String“类型','push','while','js-utils-plus','extends','snakeToCamel','18eNuxqS','entries','\x20as\x20bool?','library','\x20\x20}','includes','1253992xNKmyg','\x20as\x20List<dynamic>?)?.map((e)\x20=>\x20','\x20as\x20Map<String,\x20dynamic>?)','defineProperty','\x20\x20};','9908220vRBJXF','.fromJson(',').toList()','.fromJson(Map<String,\x20dynamic>?\x20json)\x20{\x0a','rethrow','switch','enum','mixin','11698128WLYqMT','const','replace'];a0_0x5752=function(){return _0x2ebb58;};return a0_0x5752();}function modelTypeGenerator(_0x1e272a,_0x1b6a05,_0x224b39,_0x33ed8c,_0x3332e2){const _0x5dd8a4=a0_0x5ddc03;if((0x0,js_utils_plus_1[_0x5dd8a4(0x208)])(_0x1e272a))return{'type':_0x5dd8a4(0x1f0),'typeTo':_0x50048b=>_0x50048b,'typeFrom':_0x1f2f02=>_0x1f2f02+_0x5dd8a4(0x22b)};if((0x0,js_utils_plus_1[_0x5dd8a4(0x1e7)])(_0x1e272a))return{'type':'String','typeTo':_0x1801d4=>_0x1801d4,'typeFrom':_0x450a53=>_0x450a53+_0x5dd8a4(0x200)};if((0x0,js_utils_plus_1[_0x5dd8a4(0x1fb)])(_0x1e272a)){if(_0x3332e2)return{'type':_0x5dd8a4(0x204),'typeTo':_0x5cf24c=>_0x5cf24c,'typeFrom':_0x2d00ec=>'num.tryParse('+_0x2d00ec+_0x5dd8a4(0x1fd)};return(0x0,js_utils_plus_1['isInt'])(_0x1e272a)?{'type':_0x5dd8a4(0x221),'typeTo':_0x400d3e=>_0x400d3e,'typeFrom':_0x3b58b1=>'int.tryParse('+_0x3b58b1+_0x5dd8a4(0x1fd)}:{'type':'double','typeTo':_0x52a66c=>_0x52a66c,'typeFrom':_0xe08d6b=>_0x5dd8a4(0x1fa)+_0xe08d6b+'?.toString()\x20??\x20\x27\x27)'};}if((0x0,js_utils_plus_1[_0x5dd8a4(0x1f7)])(_0x1e272a))return{'type':''+_0x1b6a05+_0x224b39,'typeTo':_0x1e48fe=>_0x1e48fe+_0x5dd8a4(0x1ee),'typeFrom':_0x5e3c9a=>''+_0x1b6a05+_0x224b39+_0x5dd8a4(0x235)+_0x5e3c9a+_0x5dd8a4(0x231),'subLines':jsonToDart(_0x1e272a,_0x1b6a05,_0x224b39,_0x33ed8c,_0x3332e2,![])};if((0x0,js_utils_plus_1[_0x5dd8a4(0x218)])(_0x1e272a)){const _0x5ece22=_0x1e272a[0x0];if(!_0x5ece22)console[_0x5dd8a4(0x217)](_0x5dd8a4(0x206)+_0x1b6a05+_0x224b39+_0x5dd8a4(0x223));const {type:_0x31480d,typeTo:_0x5cc8ee,typeFrom:_0x5f2258,subLines:_0x53435c}=modelTypeGenerator(_0x5ece22||'',_0x1b6a05,_0x224b39,_0x33ed8c,_0x3332e2);return{'type':_0x5dd8a4(0x216)+_0x31480d+(_0x33ed8c?'?':'')+'>','typeTo':_0x546303=>_0x546303+_0x5dd8a4(0x1fe)+_0x5cc8ee('e')+_0x5dd8a4(0x236),'typeFrom':_0x36728d=>'('+_0x36728d+_0x5dd8a4(0x230)+_0x5f2258('e')+_0x5dd8a4(0x236),'subLines':_0x53435c};}return console[_0x5dd8a4(0x217)](_0x5dd8a4(0x206)+_0x1b6a05+_0x224b39+'\x20类包含值为\x22空\x22的属性,将被默认视为”String“类型'),{'type':_0x5dd8a4(0x21c),'typeTo':_0x5ca462=>_0x5ca462,'typeFrom':_0x21e140=>_0x21e140+'?.toString()'};}function modelKeywordDefence(_0x23e1b9){const _0x7fd6b0=a0_0x5ddc03;let _0x59112a=[_0x7fd6b0(0x204),_0x7fd6b0(0x202),_0x7fd6b0(0x221),_0x7fd6b0(0x21c),_0x7fd6b0(0x1f0),'List','abstract',_0x7fd6b0(0x1f3),_0x7fd6b0(0x1ff),_0x7fd6b0(0x1f9),'as',_0x7fd6b0(0x21f),'import','static',_0x7fd6b0(0x21a),_0x7fd6b0(0x23a),'in','super','async','export',_0x7fd6b0(0x214),_0x7fd6b0(0x239),_0x7fd6b0(0x1ea),_0x7fd6b0(0x227),'is','sync','break',_0x7fd6b0(0x210),_0x7fd6b0(0x22c),'this',_0x7fd6b0(0x1e6),_0x7fd6b0(0x215),_0x7fd6b0(0x23b),_0x7fd6b0(0x1f6),'catch','false',_0x7fd6b0(0x207),'true',_0x7fd6b0(0x220),_0x7fd6b0(0x20d),'null',_0x7fd6b0(0x209),_0x7fd6b0(0x23d),_0x7fd6b0(0x1ed),'on',_0x7fd6b0(0x1f1),'continue',_0x7fd6b0(0x20c),'operator',_0x7fd6b0(0x219),_0x7fd6b0(0x21d),_0x7fd6b0(0x20a),_0x7fd6b0(0x1ef),'void',_0x7fd6b0(0x211),_0x7fd6b0(0x20e),_0x7fd6b0(0x238),_0x7fd6b0(0x225),_0x7fd6b0(0x203),_0x7fd6b0(0x213),'return','with','do','if','set',_0x7fd6b0(0x1ec)];if(_0x59112a[_0x7fd6b0(0x22e)](_0x23e1b9)||/^\d/[_0x7fd6b0(0x1f4)](_0x23e1b9))return _0x7fd6b0(0x20b)+(0x0,js_utils_plus_1['uppercaseFirst'])(_0x23e1b9);return(0x0,js_utils_plus_1[_0x7fd6b0(0x228)])(_0x23e1b9);}let jsonClassMap={};function jsonToDart(_0x4366cc,_0x4b8130,_0x269aad,_0x113f1f,_0x30cf3a,_0x41e467=!![]){const _0x5d1a8c=a0_0x5ddc03;if(_0x41e467)jsonClassMap={};_0x4b8130=(0x0,js_utils_plus_1[_0x5d1a8c(0x21b)])((0x0,js_utils_plus_1[_0x5d1a8c(0x228)])(_0x4b8130));let _0xdc1974=[],_0x329403=[],_0x2730f1=[],_0x2d5343=[],_0x167255=[],_0x37e62d=[],_0x430f12='';_0xdc1974[_0x5d1a8c(0x224)]('class\x20'+_0x4b8130+_0x269aad+'\x20{'),_0x2730f1['push']('\x20\x20'+_0x4b8130+_0x269aad+_0x5d1a8c(0x1e9)),_0x2d5343[_0x5d1a8c(0x224)]('\x20\x20'+_0x4b8130+_0x269aad+_0x5d1a8c(0x237)),_0x167255[_0x5d1a8c(0x224)](_0x5d1a8c(0x1f5));for(const [_0x53902c,_0xe4e6c1]of Object[_0x5d1a8c(0x22a)](_0x4366cc)){let _0x4ca3e7='\x27'+_0x53902c+'\x27',_0x5466ba=modelKeywordDefence(_0x53902c);const _0x1cdb9c=(0x0,js_utils_plus_1[_0x5d1a8c(0x21b)])((0x0,js_utils_plus_1[_0x5d1a8c(0x228)])(_0x53902c)),{type:_0x1a4a22,typeTo:_0x2e047b,typeFrom:_0x5bca25,subLines:_0x1f24f8}=modelTypeGenerator(_0xe4e6c1,_0x1cdb9c,_0x269aad,_0x113f1f,_0x30cf3a);if(_0x1f24f8)_0x37e62d['push'](_0x1f24f8);_0x2730f1['push'](_0x5d1a8c(0x1eb)+_0x5466ba+',\x0a'),_0x329403[_0x5d1a8c(0x224)]('\x20\x20'+_0x1a4a22+(_0x113f1f?'?':'')+'\x20'+_0x5466ba+';\x0a'),_0x2d5343[_0x5d1a8c(0x224)]('\x20\x20\x20\x20'+_0x5466ba+_0x5d1a8c(0x201)+_0x5bca25(_0x5d1a8c(0x21e)+_0x4ca3e7+']')+';\x0a'),_0x167255[_0x5d1a8c(0x224)](_0x5d1a8c(0x1fc)+_0x4ca3e7+':\x20'+_0x2e047b(_0x5466ba)+',\x0a'),_0x430f12+=_0x53902c+'='+_0x1a4a22;}if(jsonClassMap[_0x4b8130]&&jsonClassMap[_0x4b8130]==_0x430f12)return'';return jsonClassMap[_0x4b8130]=_0x430f12,_0x2730f1[_0x5d1a8c(0x224)]('\x20\x20});'),_0x2d5343[_0x5d1a8c(0x224)](_0x5d1a8c(0x22d)),_0x167255[_0x5d1a8c(0x224)](_0x5d1a8c(0x233)),_0xdc1974[_0x5d1a8c(0x224)](_0x329403[_0x5d1a8c(0x20f)]('')),_0xdc1974[_0x5d1a8c(0x224)](_0x2730f1[_0x5d1a8c(0x20f)]('')),_0xdc1974[_0x5d1a8c(0x224)](_0x2d5343[_0x5d1a8c(0x20f)]('')),_0xdc1974[_0x5d1a8c(0x224)](_0x167255[_0x5d1a8c(0x20f)]('')),_0xdc1974[_0x5d1a8c(0x224)]('}\x0a'),_0xdc1974[_0x5d1a8c(0x224)](_0x37e62d['join']('')),_0x41e467?_0xdc1974['join']('\x0a')[_0x5d1a8c(0x23e)](/[\n\r]?$/g,''):_0xdc1974['join']('\x0a');}
1
+ 'use strict';const a0_0x176bf9=a0_0x2dee;(function(_0x3b9686,_0x5075f0){const _0x389d0a=a0_0x2dee,_0x4c393b=_0x3b9686();while(!![]){try{const _0x517efd=-parseInt(_0x389d0a(0x1c2))/0x1*(-parseInt(_0x389d0a(0x189))/0x2)+parseInt(_0x389d0a(0x18d))/0x3*(parseInt(_0x389d0a(0x1bf))/0x4)+parseInt(_0x389d0a(0x17f))/0x5*(parseInt(_0x389d0a(0x183))/0x6)+parseInt(_0x389d0a(0x1bb))/0x7+-parseInt(_0x389d0a(0x1d5))/0x8*(-parseInt(_0x389d0a(0x1ba))/0x9)+parseInt(_0x389d0a(0x180))/0xa+-parseInt(_0x389d0a(0x1d7))/0xb;if(_0x517efd===_0x5075f0)break;else _0x4c393b['push'](_0x4c393b['shift']());}catch(_0x28dfde){_0x4c393b['push'](_0x4c393b['shift']());}}}(a0_0x538c,0xedec9));Object[a0_0x176bf9(0x191)](exports,a0_0x176bf9(0x1d0),{'value':!![]}),exports['jsonToDart']=jsonToDart;const js_utils_plus_1=require(a0_0x176bf9(0x1d6));function a0_0x2dee(_0x2e890b,_0x12a078){_0x2e890b=_0x2e890b-0x17f;const _0x538c89=a0_0x538c();let _0x2dee9c=_0x538c89[_0x2e890b];return _0x2dee9c;}function modelTypeGenerator(_0x58ef35,_0x5a57d3,_0xd8f798,_0x19cbfe,_0x5a13d9,_0x5f8b8){const _0x213cfa=a0_0x176bf9;if((0x0,js_utils_plus_1[_0x213cfa(0x1ce)])(_0x5a57d3))return{'type':_0x213cfa(0x1d8),'typeTo':_0x575ea0=>_0x575ea0,'typeFrom':_0x2fcc9a=>_0x2fcc9a+_0x213cfa(0x194)};if((0x0,js_utils_plus_1[_0x213cfa(0x1c6)])(_0x5a57d3))return{'type':_0x213cfa(0x1bd),'typeTo':_0x48ae92=>_0x48ae92,'typeFrom':_0x3f4bb9=>_0x3f4bb9+'?.toString()'};if((0x0,js_utils_plus_1[_0x213cfa(0x1cc)])(_0x5a57d3)){if(_0x5f8b8)return{'type':_0x213cfa(0x18b),'typeTo':_0x7880e5=>_0x7880e5,'typeFrom':_0x1691de=>_0x213cfa(0x1b9)+_0x1691de+_0x213cfa(0x1a1)};return(0x0,js_utils_plus_1[_0x213cfa(0x1c3)])(_0x5a57d3)?{'type':_0x213cfa(0x181),'typeTo':_0x5b7ccc=>_0x5b7ccc,'typeFrom':_0x3241f0=>'int.tryParse('+_0x3241f0+'?.toString()\x20??\x20\x27\x27)'}:{'type':_0x213cfa(0x1cb),'typeTo':_0x395639=>_0x395639,'typeFrom':_0x59e817=>_0x213cfa(0x185)+_0x59e817+_0x213cfa(0x1a1)};}if((0x0,js_utils_plus_1[_0x213cfa(0x1bc)])(_0x5a57d3)){const _0x1d0c3b=jsonToDart(_0x5a57d3,_0xd8f798,_0x19cbfe,_0x5a13d9,_0x5f8b8,![]);return _0xd8f798=_0x1d0c3b['className']||_0xd8f798,{'type':''+_0xd8f798+_0x19cbfe,'typeTo':_0x59fcc6=>_0x59fcc6+_0x213cfa(0x190),'typeFrom':_0x3542f4=>''+_0xd8f798+_0x19cbfe+_0x213cfa(0x1d2)+_0x3542f4+_0x213cfa(0x1cf),'subLines':_0x1d0c3b[_0x213cfa(0x1b0)]};}if((0x0,js_utils_plus_1[_0x213cfa(0x1b6)])(_0x5a57d3)){const _0x42b448=_0x5a57d3[0x0],{type:_0x5c0550,typeTo:_0x1f3434,typeFrom:_0x554dcf,subLines:_0x5bd1fb}=modelTypeGenerator(_0x58ef35,_0x42b448,_0xd8f798,_0x19cbfe,_0x5a13d9,_0x5f8b8);return{'type':_0x213cfa(0x1c5)+_0x5c0550+(_0x5a13d9?'?':'')+'>','typeTo':_0x4d2e58=>_0x4d2e58+'?.map((e)\x20=>\x20'+_0x1f3434('e')+').toList()','typeFrom':_0x1094c3=>'('+_0x1094c3+_0x213cfa(0x1d3)+_0x554dcf('e')+_0x213cfa(0x188),'subLines':_0x5bd1fb};}return console['log'](_0x213cfa(0x19d)+_0x58ef35+_0x213cfa(0x1b3)),{'type':_0x213cfa(0x1bd),'typeTo':_0x1fb46f=>_0x1fb46f,'typeFrom':_0x2483c1=>_0x2483c1+_0x213cfa(0x1a8)};}function modelKeywordDefence(_0x29fb80){const _0x570c50=a0_0x176bf9;let _0x37df99=[_0x570c50(0x18b),'double','int','String',_0x570c50(0x1d8),'List',_0x570c50(0x1b5),_0x570c50(0x1af),_0x570c50(0x1b2),'show','as','else','import',_0x570c50(0x1a5),_0x570c50(0x1d4),_0x570c50(0x1b4),'in',_0x570c50(0x1cd),'async',_0x570c50(0x1ae),_0x570c50(0x1b1),_0x570c50(0x19b),_0x570c50(0x1a9),'extends','is',_0x570c50(0x1ad),_0x570c50(0x1ab),_0x570c50(0x1aa),_0x570c50(0x1a7),_0x570c50(0x1a3),'case',_0x570c50(0x1d9),_0x570c50(0x1ac),_0x570c50(0x199),_0x570c50(0x19c),_0x570c50(0x1d1),'new',_0x570c50(0x1a4),_0x570c50(0x1c1),_0x570c50(0x195),_0x570c50(0x18a),_0x570c50(0x18c),_0x570c50(0x19a),_0x570c50(0x193),'on',_0x570c50(0x1b8),_0x570c50(0x192),_0x570c50(0x1c9),_0x570c50(0x197),_0x570c50(0x1be),'covariant',_0x570c50(0x1da),_0x570c50(0x1c0),'void',_0x570c50(0x1a6),'get','rethrow',_0x570c50(0x182),'deferred',_0x570c50(0x1dc),_0x570c50(0x1a2),_0x570c50(0x1c8),'do','if',_0x570c50(0x1c7),'yield'];if(_0x37df99[_0x570c50(0x19f)](_0x29fb80)||/^\d/[_0x570c50(0x184)](_0x29fb80))return'the'+(0x0,js_utils_plus_1[_0x570c50(0x18f)])(_0x29fb80);return(0x0,js_utils_plus_1[_0x570c50(0x1b7)])(_0x29fb80);}function resolveClassName(_0x73d1ca,_0x4fb6f9,_0x5e4a18){const _0x3df2fd=Object['entries'](_0x4fb6f9)['map'](([_0x5cb08c,_0x5e9e18])=>_0x5cb08c+'='+typeof _0x5e9e18)['join']('&');if(!_0x5e4a18[_0x73d1ca])return _0x5e4a18[_0x73d1ca]=_0x3df2fd,_0x73d1ca;if(_0x5e4a18[_0x73d1ca]&&_0x5e4a18[_0x73d1ca]==_0x3df2fd)return'';let _0x1cde39=0x2,_0x5231d2=''+_0x73d1ca+_0x1cde39;while(_0x5e4a18[_0x5231d2]&&_0x5e4a18[_0x5231d2]!==_0x3df2fd){_0x1cde39++,_0x5231d2=''+_0x73d1ca+_0x1cde39;}if(!_0x5e4a18[_0x5231d2])_0x5e4a18[_0x5231d2]=_0x3df2fd;return _0x5231d2;}function jsonToDart(_0x2c15a9,_0x1fd71d,_0x276139,_0x952495,_0x55e514,_0xe35fff=!![]){const _0x58c7ec=a0_0x176bf9,_0xa7bbcc=_0xe35fff?{}:jsonToDart[_0x58c7ec(0x198)];if(_0xe35fff)jsonToDart[_0x58c7ec(0x198)]=_0xa7bbcc;const _0x559168=(0x0,js_utils_plus_1[_0x58c7ec(0x18f)])((0x0,js_utils_plus_1[_0x58c7ec(0x1b7)])(_0x1fd71d));_0x1fd71d=resolveClassName(_0x559168,_0x2c15a9,_0xa7bbcc);if(!_0x1fd71d)return{'context':''};let _0x2431e0=[],_0x586b60=[],_0x427a58=[],_0x2df16b=[],_0xcb2f02=[],_0x41ab47=[];_0x2431e0['push'](_0x58c7ec(0x186)+_0x1fd71d+_0x276139+'\x20{'),_0x427a58['push']('\x20\x20'+_0x1fd71d+_0x276139+'({\x0a'),_0x2df16b['push']('\x20\x20'+_0x1fd71d+_0x276139+_0x58c7ec(0x19e)),_0xcb2f02['push']('\x20\x20Map<String,\x20dynamic>\x20toJson()\x20=>\x20{\x0a');for(const [_0x2d987c,_0x30f955]of Object['entries'](_0x2c15a9)){let _0x15e132='\x27'+_0x2d987c+'\x27',_0x22b87b=modelKeywordDefence(_0x2d987c);const _0x2ce242=(0x0,js_utils_plus_1[_0x58c7ec(0x18f)])((0x0,js_utils_plus_1[_0x58c7ec(0x1b7)])(_0x2d987c)),{type:_0x26e9ff,typeTo:_0x411dfb,typeFrom:_0x7b800e,subLines:_0x796561}=modelTypeGenerator(_0x2d987c,_0x30f955,_0x2ce242,_0x276139,_0x952495,_0x55e514);if(_0x796561)_0x41ab47[_0x58c7ec(0x196)](_0x796561);_0x427a58['push']('\x20\x20\x20\x20this.'+_0x22b87b+',\x0a'),_0x586b60[_0x58c7ec(0x196)]('\x20\x20'+_0x26e9ff+(_0x952495?'?':'')+'\x20'+_0x22b87b+';\x0a'),_0x2df16b['push'](_0x58c7ec(0x187)+_0x22b87b+_0x58c7ec(0x18e)+_0x7b800e('json?['+_0x15e132+']')+';\x0a'),_0xcb2f02[_0x58c7ec(0x196)](_0x58c7ec(0x187)+_0x15e132+':\x20'+_0x411dfb(_0x22b87b)+',\x0a');}_0x427a58[_0x58c7ec(0x196)](_0x58c7ec(0x1c4)),_0x2df16b['push'](_0x58c7ec(0x1db)),_0xcb2f02[_0x58c7ec(0x196)](_0x58c7ec(0x1ca)),_0x2431e0[_0x58c7ec(0x196)](_0x586b60['join']('')),_0x2431e0[_0x58c7ec(0x196)](_0x427a58[_0x58c7ec(0x1a0)]('')),_0x2431e0[_0x58c7ec(0x196)](_0x2df16b[_0x58c7ec(0x1a0)]('')),_0x2431e0[_0x58c7ec(0x196)](_0xcb2f02['join']('')),_0x2431e0[_0x58c7ec(0x196)]('}\x0a'),_0x2431e0[_0x58c7ec(0x196)](_0x41ab47['join'](''));const _0x5147cb=_0xe35fff?_0x2431e0['join']('\x0a')['replace'](/[\n\r]?$/g,''):_0x2431e0['join']('\x0a');return{'context':_0x5147cb,'className':_0x1fd71d};}function a0_0x538c(){const _0x2c073d=['part','class','296935BRqMTa','isInt','\x20\x20});','List<','isString','set','with','for','\x20\x20};','double','isNumber','super','isBoolean','\x20as\x20Map<String,\x20dynamic>?)','__esModule','false','.fromJson(','\x20as\x20List<dynamic>?)?.map((e)\x20=>\x20','assert','184aShgsk','js-utils-plus','30519819hzwbLg','bool','factory','Function','\x20\x20}','hide','98500JbIFUJ','15060560MXNseP','int','while','390UuIziu','test','double.tryParse(','class\x20','\x20\x20\x20\x20',').toList()','2RQgfzv','null','num','try','18LUKvHW','\x20=\x20','uppercaseFirst','?.toJson()','defineProperty','continue','finally','\x20as\x20bool?','final','push','operator','_classMap','throw','const','switch','catch','-\x20警告!:”','.fromJson(Map<String,\x20dynamic>?\x20json)\x20{\x0a','includes','join','?.toString()\x20??\x20\x27\x27)','return','this','true','static','default','library','?.toString()','await','external','break','mixin','sync','export','dynamic','context','interface','implements','”\x20值包含为\x22空\x22的属性值或列表项,将被默认视为”String“类型','enum','abstract','isArray','snakeToCamel','typedef','num.tryParse(','31113gMFEdV','2404682xwcSBK','isObject','String','var','161692AfRrNV'];a0_0x538c=function(){return _0x2c073d;};return a0_0x538c();}
@@ -0,0 +1,4 @@
1
+ export declare function generateMockDart(mockMethods: {
2
+ name: string;
3
+ json: any;
4
+ }[], suffix: string): string;
@@ -0,0 +1 @@
1
+ 'use strict';function a1_0x2a20(){const _0x1cc298=['snakeToCamel','237579ytyaPy','92535rnVvtr','778311fulmEY',');\x0a\x20\x20}\x0a','6FtVbDv','js-utils-plus','165683nBqHyP','167696LsuZuM','\x20数据\x0a\x20\x20static\x20Map<String,\x20dynamic>\x20','defineProperty','1374810wvPWYT','()\x20{\x0a\x20\x20\x20\x20return\x20MockDataHelper.randomJsonFromTemplate(','36GMkjMZ','import\x20\x27dart:math\x27;\x0a\x0a///\x20提供各类随机数据的生成方法\x0aclass\x20MockDataHelper\x20{\x0a\x20\x20static\x20final\x20Random\x20_random\x20=\x20Random();\x0a\x0a\x20\x20///\x20随机整数\x20[min,\x20max]\x0a\x20\x20static\x20int\x20randomInt({int\x20min\x20=\x200,\x20int\x20max\x20=\x20100})\x20=>\x20min\x20+\x20_random.nextInt(max\x20-\x20min\x20+\x201);\x0a\x0a\x20\x20///\x20随机浮点数\x20[min,\x20max)\x0a\x20\x20static\x20double\x20randomDouble({double\x20min\x20=\x200.0,\x20double\x20max\x20=\x20100.0})\x20=>\x20min\x20+\x20_random.nextDouble()\x20*\x20(max\x20-\x20min);\x0a\x0a\x20\x20///\x20随机布尔值\x0a\x20\x20static\x20bool\x20randomBool()\x20=>\x20_random.nextBool();\x0a\x0a\x20\x20///\x20随机枚举值(传入枚举值列表)\x0a\x20\x20static\x20T\x20randomEnum<T>(List<T>\x20values)\x20{\x0a\x20\x20\x20\x20return\x20values[randomInt(min:\x200,\x20max:\x20values.length\x20-\x201)];\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机字符串(默认长度\x205-15)\x0a\x20\x20static\x20String\x20randomString({int\x20minLength\x20=\x205,\x20int\x20maxLength\x20=\x2015})\x20{\x0a\x20\x20\x20\x20const\x20chars\x20=\x20\x27abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\x27;\x0a\x20\x20\x20\x20final\x20length\x20=\x20randomInt(min:\x20minLength,\x20max:\x20maxLength);\x0a\x20\x20\x20\x20return\x20String.fromCharCodes(Iterable.generate(length,\x20(_)\x20=>\x20chars.codeUnitAt(_random.nextInt(chars.length))));\x0a\x20\x20}\x0a\x0a\x20\x20///\x20从列表中随机取一项\x0a\x20\x20static\x20T\x20randomItem<T>(List<T>\x20items)\x20{\x0a\x20\x20\x20\x20if\x20(items.isEmpty)\x20throw\x20Exception(\x27Cannot\x20pick\x20from\x20empty\x20list\x27);\x0a\x20\x20\x20\x20return\x20items[randomInt(min:\x200,\x20max:\x20items.length\x20-\x201)];\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机生成图片\x20URL(使用占位图服务)\x0a\x20\x20static\x20String\x20randomImageUrl({int\x20width\x20=\x20200,\x20int\x20height\x20=\x20200})\x20{\x0a\x20\x20\x20\x20return\x20\x27https://picsum.photos/$width/$height?random=${_random.nextInt(10000)}\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机生成邮箱\x0a\x20\x20static\x20String\x20randomEmail()\x20{\x0a\x20\x20\x20\x20return\x20\x27${randomString(minLength:\x203,\x20maxLength:\x2010)}@example.com\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机生成手机号\x0a\x20\x20static\x20String\x20randomPhone()\x20{\x0a\x20\x20\x20\x20return\x20\x2713${List.generate(10,\x20(_)\x20=>\x20_random.nextInt(9)).join()}\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机生成Json\x0a\x20\x20static\x20Map<String,\x20dynamic>\x20randomJsonFromTemplate(Map<String,\x20dynamic>\x20template)\x20{\x0a\x20\x20\x20\x20final\x20result\x20=\x20<String,\x20dynamic>{};\x0a\x20\x20\x20\x20for\x20(final\x20entry\x20in\x20template.entries)\x20{\x0a\x20\x20\x20\x20\x20\x20final\x20key\x20=\x20entry.key;\x0a\x20\x20\x20\x20\x20\x20final\x20value\x20=\x20entry.value;\x0a\x20\x20\x20\x20\x20\x20if\x20(value\x20is\x20int)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20_mockIntForKey(key);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20double)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20_mockDoubleForKey(key);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20bool)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20randomBool();\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20String)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20_mockStringForKey(key);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20List)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20final\x20itemTemplate\x20=\x20value.isNotEmpty\x20?\x20value.first\x20:\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20final\x20length\x20=\x20randomInt(min:\x202,\x20max:\x2012);\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20List.generate(length,\x20(_)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(itemTemplate\x20is\x20Map)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20randomJsonFromTemplate(itemTemplate\x20as\x20Map<String,\x20dynamic>);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(itemTemplate\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20_randomValueFromType(itemTemplate.runtimeType);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20randomString();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20Map)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20randomJsonFromTemplate(value\x20as\x20Map<String,\x20dynamic>);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20_randomValueFromType(value.runtimeType);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20result;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20根据键名推断整型\x20Mock\x20值\x0a\x20\x20static\x20int\x20_mockIntForKey(String\x20key)\x20{\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27id\x27,\x20\x27Id\x27]))\x20return\x20randomInt(min:\x2010000000000,\x20max:\x2099999999999);\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27state\x27,\x20\x27State\x27,\x20\x27status\x27,\x20\x27Status\x27,\x20\x27type\x27,\x20\x27Type\x27,\x20\x27class\x27,\x20\x27Class\x27]))\x20return\x20randomInt(min:\x200,\x20max:\x205);\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27count\x27,\x20\x27Count\x27,\x20\x27total\x27,\x20\x27Total\x27,\x20\x27num\x27,\x20\x27Num\x27,\x20\x27days\x27,\x20\x27Days\x27]))\x20return\x20randomInt(min:\x200,\x20max:\x20200);\x0a\x20\x20\x20\x20if\x20(key.startsWith(\x27is\x27))\x20return\x20randomInt(min:\x200,\x20max:\x201);\x0a\x20\x20\x20\x20return\x20randomInt();\x0a\x20\x20}\x0a\x0a\x20\x20///\x20根据键名推断\x20double\x20Mock\x20值\x0a\x20\x20static\x20double\x20_mockDoubleForKey(String\x20key)\x20{\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27lat\x27,\x20\x27Lat\x27,\x20\x27lng\x27,\x20\x27Lng\x27]))\x20return\x20randomDouble(min:\x2020.0,\x20max:\x2050.0);\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27percent\x27,\x20\x27Percent\x27,\x20\x27rate\x27,\x20\x27Rate\x27]))\x20return\x20randomDouble(min:\x200,\x20max:\x20100);\x0a\x20\x20\x20\x20return\x20randomDouble();\x0a\x20\x20}\x0a\x0a\x20\x20///\x20根据键名推断字符串\x20Mock\x20值\x0a\x20\x20static\x20String\x20_mockStringForKey(String\x20key)\x20{\x0a\x20\x20\x20\x20if\x20(key.endsWith(\x27Date\x27))\x20return\x20_randomDateString();\x0a\x20\x20\x20\x20if\x20(key.endsWith(\x27Time\x27)\x20&&\x20!key.endsWith(\x27DateTime\x27))\x20return\x20_randomTimeString();\x0a\x20\x20\x20\x20if\x20(key.endsWith(\x27DateTime\x27))\x20return\x20\x27${_randomDateString()}\x20${_randomTimeString()}\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27email\x27]))\x20return\x20randomEmail();\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27phone\x27,\x20\x27mobile\x27]))\x20return\x20randomPhone();\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27sn\x27]))\x20return\x20\x27SN${DateTime.now().year}${randomInt(min:\x20100000,\x20max:\x20999999)}\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27no\x27,\x20\x27num\x27]))\x20return\x20\x27${DateTime.now().year}${randomInt(min:\x20100000,\x20max:\x20999999)}\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27addr\x27]))\x20return\x20\x27${randomItem(_cities)}${randomItem(_districts)}${randomItem(_streets)}${randomInt(min:\x201,\x20max:\x20200)}号\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27version\x27]))\x20return\x20\x27${randomInt(min:\x201,\x20max:\x205)}.${randomInt(min:\x200,\x20max:\x209)}.${randomInt(min:\x200,\x20max:\x2099)}\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27desc\x27,\x20\x27remark\x27,\x20\x27content\x27]))\x20return\x20\x27${randomItem(_sentences)},${randomItem(_sentences)}。\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27url\x27,\x20\x27image\x27,\x20\x27avatar\x27]))\x20return\x20randomImageUrl();\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27name\x27,\x20\x27title\x27]))\x20return\x20randomItem(_names);\x0a\x20\x20\x20\x20return\x20randomString();\x0a\x20\x20}\x0a\x0a\x20\x20static\x20const\x20_names\x20=\x20[\x27张三\x27,\x20\x27李四\x27,\x20\x27王五\x27,\x20\x27赵六\x27,\x20\x27孙七\x27,\x20\x27周八\x27,\x20\x27吴九\x27,\x20\x27郑十\x27,\x20\x27设备A\x27,\x20\x27项目B\x27,\x20\x27订单C\x27];\x0a\x20\x20static\x20const\x20_sentences\x20=\x20[\x27设备运行正常\x27,\x20\x27已完成例行保养\x27,\x20\x27等待配件更换\x27,\x20\x27需要现场技术支持\x27,\x20\x27客户已确认验收\x27,\x20\x27审批流程进行中\x27,\x20\x27待发货状态\x27];\x0a\x20\x20static\x20const\x20_cities\x20=\x20[\x27北京市\x27,\x20\x27上海市\x27,\x20\x27广州市\x27,\x20\x27深圳市\x27,\x20\x27杭州市\x27,\x20\x27成都市\x27,\x20\x27武汉市\x27,\x20\x27南京市\x27];\x0a\x20\x20static\x20const\x20_districts\x20=\x20[\x27朝阳区\x27,\x20\x27浦东新区\x27,\x20\x27天河区\x27,\x20\x27南山区\x27,\x20\x27西湖区\x27,\x20\x27武侯区\x27,\x20\x27洪山区\x27,\x20\x27鼓楼区\x27];\x0a\x20\x20static\x20const\x20_streets\x20=\x20[\x27中山路\x27,\x20\x27人民路\x27,\x20\x27建设路\x27,\x20\x27解放路\x27,\x20\x27长安街\x27,\x20\x27科技路\x27,\x20\x27高新大道\x27,\x20\x27滨江路\x27];\x0a\x0a\x20\x20///\x20随机日期时间(以小时为精度)\x0a\x20\x20static\x20DateTime\x20_randomDateTime({DateTime?\x20start,\x20DateTime?\x20end})\x20{\x0a\x20\x20\x20\x20final\x20now\x20=\x20DateTime.now();\x0a\x20\x20\x20\x20final\x20startDate\x20=\x20start\x20??\x20DateTime(now.year\x20-\x203,\x201,\x201);\x0a\x20\x20\x20\x20final\x20endDate\x20=\x20end\x20??\x20now;\x0a\x20\x20\x20\x20final\x20hours\x20=\x20endDate.difference(startDate).inHours;\x0a\x20\x20\x20\x20final\x20randomHours\x20=\x20randomInt(min:\x200,\x20max:\x20hours);\x0a\x20\x20\x20\x20return\x20startDate.add(Duration(hours:\x20randomHours));\x0a\x20\x20}\x0a\x0a\x20\x20///\x20YYYY-MM-DD\x20格式的随机日期字符串\x0a\x20\x20static\x20String\x20_randomDateString()\x20{\x0a\x20\x20\x20\x20final\x20date\x20=\x20_randomDateTime();\x0a\x20\x20\x20\x20return\x20\x27${date.year}-${date.month.toString().padLeft(2,\x20\x270\x27)}-${date.day.toString().padLeft(2,\x20\x270\x27)}\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20HH:mm:ss\x20格式的随机时间字符串\x0a\x20\x20static\x20String\x20_randomTimeString()\x20{\x0a\x20\x20\x20\x20final\x20h\x20=\x20randomInt(min:\x200,\x20max:\x2023).toString().padLeft(2,\x20\x270\x27);\x0a\x20\x20\x20\x20final\x20m\x20=\x20randomInt(min:\x200,\x20max:\x2059).toString().padLeft(2,\x20\x270\x27);\x0a\x20\x20\x20\x20final\x20s\x20=\x20randomInt(min:\x200,\x20max:\x2059).toString().padLeft(2,\x20\x270\x27);\x0a\x20\x20\x20\x20return\x20\x27$h:$m:$s\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20键名是否包含任意关键字(忽略大小写)\x0a\x20\x20static\x20bool\x20_keyContains(String\x20key,\x20List<String>\x20keywords)\x20{\x0a\x20\x20\x20\x20final\x20lower\x20=\x20key.toLowerCase();\x0a\x20\x20\x20\x20return\x20keywords.any((k)\x20=>\x20lower.contains(k.toLowerCase()));\x0a\x20\x20}\x0a\x0a\x20\x20static\x20dynamic\x20_randomValueFromType(Type\x20type)\x20{\x0a\x20\x20\x20\x20if\x20(type\x20==\x20int)\x20return\x20randomInt();\x0a\x20\x20\x20\x20if\x20(type\x20==\x20double)\x20return\x20randomDouble();\x0a\x20\x20\x20\x20if\x20(type\x20==\x20bool)\x20return\x20randomBool();\x0a\x20\x20\x20\x20if\x20(type\x20==\x20String)\x20return\x20randomString();\x0a\x20\x20\x20\x20return\x20null;\x0a\x20\x20}\x0a}\x0a\x0a///\x20生成各类模型的随机\x20Mock\x20数据\x0aclass\x20Mock\x20{\x0a','objectToContent','__esModule','38100KDnrHg','2sBUmWk'];a1_0x2a20=function(){return _0x1cc298;};return a1_0x2a20();}const a1_0x1d1992=a1_0x3485;(function(_0x20a048,_0x211a7a){const _0x2bb4fb=a1_0x3485,_0x280780=_0x20a048();while(!![]){try{const _0x5f2755=-parseInt(_0x2bb4fb(0x11f))/0x1*(parseInt(_0x2bb4fb(0x11d))/0x2)+-parseInt(_0x2bb4fb(0x11c))/0x3+-parseInt(_0x2bb4fb(0x12b))/0x4*(-parseInt(_0x2bb4fb(0x120))/0x5)+parseInt(_0x2bb4fb(0x123))/0x6*(-parseInt(_0x2bb4fb(0x125))/0x7)+parseInt(_0x2bb4fb(0x126))/0x8+parseInt(_0x2bb4fb(0x121))/0x9+parseInt(_0x2bb4fb(0x129))/0xa;if(_0x5f2755===_0x211a7a)break;else _0x280780['push'](_0x280780['shift']());}catch(_0x20a39a){_0x280780['push'](_0x280780['shift']());}}}(a1_0x2a20,0x21941));Object[a1_0x1d1992(0x128)](exports,a1_0x1d1992(0x12e),{'value':!![]}),exports['generateMockDart']=generateMockDart;function a1_0x3485(_0x72bdcf,_0x1eff5a){_0x72bdcf=_0x72bdcf-0x11c;const _0x2a2092=a1_0x2a20();let _0x348543=_0x2a2092[_0x72bdcf];return _0x348543;}const js_utils_plus_1=require(a1_0x1d1992(0x124));function generateMockDart(_0x17ea0f,_0x4b7b11){const _0x134fc6=a1_0x1d1992;let _0x746473='';for(const {name:_0x5ab1d5,json:_0x423c08}of _0x17ea0f){const _0x26543e=(0x0,js_utils_plus_1[_0x134fc6(0x12d)])(_0x423c08,'',0x3);_0x746473+='\x0a\x20\x20///\x20生成随机\x20'+(0x0,js_utils_plus_1[_0x134fc6(0x11e)])(_0x5ab1d5)+_0x4b7b11+_0x134fc6(0x127)+(0x0,js_utils_plus_1['snakeToCamel'])(_0x5ab1d5)+_0x4b7b11+_0x134fc6(0x12a)+_0x26543e+_0x134fc6(0x122);}return _0x134fc6(0x12c)+_0x746473+'}\x0a';}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #! /usr/bin/env node
2
- 'use strict';const a1_0xff66c6=a1_0x15ca;(function(_0x1ef85c,_0x4b800d){const _0x5e8342=a1_0x15ca,_0x454417=_0x1ef85c();while(!![]){try{const _0x3c41cd=-parseInt(_0x5e8342(0x1a9))/0x1*(parseInt(_0x5e8342(0x1c1))/0x2)+-parseInt(_0x5e8342(0x1b8))/0x3*(-parseInt(_0x5e8342(0x1b7))/0x4)+-parseInt(_0x5e8342(0x1c3))/0x5+-parseInt(_0x5e8342(0x19f))/0x6+-parseInt(_0x5e8342(0x1be))/0x7+-parseInt(_0x5e8342(0x1b9))/0x8+parseInt(_0x5e8342(0x19e))/0x9;if(_0x3c41cd===_0x4b800d)break;else _0x454417['push'](_0x454417['shift']());}catch(_0x7687bd){_0x454417['push'](_0x454417['shift']());}}}(a1_0x1c43,0x7d6f8));var __importDefault=this&&this[a1_0xff66c6(0x1a6)]||function(_0x4e40ef){const _0x98b063=a1_0xff66c6;return _0x4e40ef&&_0x4e40ef[_0x98b063(0x19c)]?_0x4e40ef:{'default':_0x4e40ef};};function a1_0x15ca(_0x2b031f,_0x1d8888){_0x2b031f=_0x2b031f-0x19b;const _0x1c433e=a1_0x1c43();let _0x15ca1f=_0x1c433e[_0x2b031f];return _0x15ca1f;}Object[a1_0xff66c6(0x1af)](exports,a1_0xff66c6(0x19c),{'value':!![]});const json2dart_1=require(a1_0xff66c6(0x1b3)),js_utils_plus_1=require(a1_0xff66c6(0x1b1)),commander_1=require(a1_0xff66c6(0x1c6)),path_1=__importDefault(require(a1_0xff66c6(0x1a8))),program=new commander_1[(a1_0xff66c6(0x1a2))](),_path=process[a1_0xff66c6(0x1bc)]();program[a1_0xff66c6(0x1a4)](a1_0xff66c6(0x1bd),'json文件夹路径,默认\x20.json_models/')['option'](a1_0xff66c6(0x1c0),'dart模型输出路径,默认\x20lib/models')[a1_0xff66c6(0x1a4)](a1_0xff66c6(0x1c2),'自定义dart模型类名后缀,\x20如\x20Entity、Model')[a1_0xff66c6(0x1a4)]('-e,\x20--excludes\x20<value...>',a1_0xff66c6(0x19b))[a1_0xff66c6(0x1a4)]('--numparse','使用num数据类型而不是double/int')['option'](a1_0xff66c6(0x1ad),'是否启用空安全'),program[a1_0xff66c6(0x1ab)]();const options=Object[a1_0xff66c6(0x19d)]({'dir':a1_0xff66c6(0x1b0),'output':a1_0xff66c6(0x1a5),'suffix':''},program[a1_0xff66c6(0x1a0)]());function run(){const _0x1899b6=a1_0xff66c6,_0x164db2=path_1[_0x1899b6(0x1c7)][_0x1899b6(0x1b4)](_path,options[_0x1899b6(0x1a7)]),_0x3a2b79=(0x0,js_utils_plus_1[_0x1899b6(0x1a3)])(_0x164db2,_0x1899b6(0x1ae),options['excludes']||[]);console[_0x1899b6(0x1ba)](new Array(0x50)[_0x1899b6(0x1b4)]('-')),_0x3a2b79[_0x1899b6(0x1aa)](function(_0x3ec96c){const _0x220bd6=_0x1899b6,_0x8c81c8=(0x0,js_utils_plus_1['readFileSync'])(_0x3ec96c,!![]);if(!_0x8c81c8){console[_0x220bd6(0x1c4)]('-\x20执行文件:'+_0x3ec96c);return;}console[_0x220bd6(0x1ba)]('-\x20执行文件:'+_0x3ec96c);const _0x2e1cab=path_1[_0x220bd6(0x1c7)]['parse'](_0x3ec96c);let _0x49d5a2=_0x8c81c8[_0x220bd6(0x1bb)]||_0x2e1cab[_0x220bd6(0x1ac)];if(_0x8c81c8[_0x220bd6(0x1bb)])delete _0x8c81c8[_0x220bd6(0x1bb)];const _0x29976a=(0x0,json2dart_1[_0x220bd6(0x1b2)])(_0x8c81c8,_0x49d5a2,options[_0x220bd6(0x1c5)],options[_0x220bd6(0x1b5)],options[_0x220bd6(0x1a1)]),_0x5a5e3d=path_1[_0x220bd6(0x1c7)][_0x220bd6(0x1b4)](_path,options[_0x220bd6(0x1bf)],_0x2e1cab[_0x220bd6(0x1ac)]+'.dart');(0x0,js_utils_plus_1[_0x220bd6(0x1b6)])(_0x5a5e3d,_0x29976a);});}function a1_0x1c43(){const _0x286884=['writeFileSync','3020BHCpdD','1527nQqnZK','2145808YdagXm','log','__className','cwd','-d,\x20--dir\x20<dir>','1233946baejxL','output','-o,\x20--output\x20<dir>','2158XWLsrS','-s,\x20--suffix\x20<value>','1003400Irlwwt','error','suffix','commander','default','需要排除的文件或文件夹,可指定多个文件','__esModule','assign','11376936WhuAgY','1389300bqPOyk','opts','numparse','Command','listFilesRecursively','option','lib/models','__importDefault','dir','path','239GeolzK','forEach','parse','name','--nullsafety','json','defineProperty','.json_models/','js-utils-plus','jsonToDart','./core/json2dart','join','nullsafety'];a1_0x1c43=function(){return _0x286884;};return a1_0x1c43();}run();
2
+ 'use strict';const a2_0x18aeb6=a2_0x6eef;(function(_0x2d86d5,_0x166482){const _0x58f28a=a2_0x6eef,_0xaaf307=_0x2d86d5();while(!![]){try{const _0x3f823c=parseInt(_0x58f28a(0xda))/0x1*(-parseInt(_0x58f28a(0xd7))/0x2)+-parseInt(_0x58f28a(0xe1))/0x3+parseInt(_0x58f28a(0xdc))/0x4+-parseInt(_0x58f28a(0xea))/0x5*(-parseInt(_0x58f28a(0xef))/0x6)+-parseInt(_0x58f28a(0xec))/0x7*(parseInt(_0x58f28a(0xd5))/0x8)+-parseInt(_0x58f28a(0xd1))/0x9*(-parseInt(_0x58f28a(0xd6))/0xa)+parseInt(_0x58f28a(0xdf))/0xb*(parseInt(_0x58f28a(0xe6))/0xc);if(_0x3f823c===_0x166482)break;else _0xaaf307['push'](_0xaaf307['shift']());}catch(_0x1d4b49){_0xaaf307['push'](_0xaaf307['shift']());}}}(a2_0x4dc8,0x1b7b9));var __importDefault=this&&this['__importDefault']||function(_0x20ee9f){const _0x4fe04c=a2_0x6eef;return _0x20ee9f&&_0x20ee9f[_0x4fe04c(0xe8)]?_0x20ee9f:{'default':_0x20ee9f};};function a2_0x6eef(_0x281cb4,_0x2e0d62){_0x281cb4=_0x281cb4-0xbc;const _0x4dc857=a2_0x4dc8();let _0x6eef88=_0x4dc857[_0x281cb4];return _0x6eef88;}Object[a2_0x18aeb6(0xe4)](exports,a2_0x18aeb6(0xe8),{'value':!![]});function a2_0x4dc8(){const _0x1b9660=['length','defineProperty','parse','190356evifiG','log','__esModule','--numparse','15CBNROk','nullsafety','225834HLsbGv','js-utils-plus','path','259086tnzjqg','自定义dart模型类名后缀,\x20如\x20Entity、Model','__className','./core/mock_generator','mock.dart','suffix','是否生成Mock类','json','error','unlinkSync','mock','commander','需要排除的文件或文件夹,可指定多个文件','name','forEach','dart模型输出路径,默认\x20lib/models','listFilesRecursively','assign','existsSync','default','excludes','output','--mock','writeFileSync','join','-\x20Mock\x20文件已删除:','-e,\x20--excludes\x20<value...>','-\x20执行文件:','Command','dir','138564nAvPeg','.dart','json文件夹路径,默认\x20.json_models/','使用num数据类型而不是double/int','32ApRkkU','30fNySeo','4414dwIRrb','-s,\x20--suffix\x20<value>','opts','12wyodLd','option','10888QeTrTR','jsonToDart','push','154dNpFhS','lib/models','397302uWKCOv','--nullsafety'];a2_0x4dc8=function(){return _0x1b9660;};return a2_0x4dc8();}const json2dart_1=require('./core/json2dart'),mock_generator_1=require(a2_0x18aeb6(0xf2)),js_utils_plus_1=require(a2_0x18aeb6(0xed)),commander_1=require(a2_0x18aeb6(0xbe)),path_1=__importDefault(require(a2_0x18aeb6(0xee))),fs_1=__importDefault(require('fs')),program=new commander_1[(a2_0x18aeb6(0xcf))](),_path=process['cwd']();program[a2_0x18aeb6(0xdb)]('-d,\x20--dir\x20<dir>',a2_0x18aeb6(0xd3))[a2_0x18aeb6(0xdb)]('-o,\x20--output\x20<dir>',a2_0x18aeb6(0xc2))[a2_0x18aeb6(0xdb)](a2_0x18aeb6(0xd8),a2_0x18aeb6(0xf0))['option'](a2_0x18aeb6(0xcd),a2_0x18aeb6(0xbf))[a2_0x18aeb6(0xdb)](a2_0x18aeb6(0xe9),a2_0x18aeb6(0xd4))['option'](a2_0x18aeb6(0xe2),'是否启用空安全')['option'](a2_0x18aeb6(0xc9),a2_0x18aeb6(0xf5)),program[a2_0x18aeb6(0xe5)]();const options=Object[a2_0x18aeb6(0xc4)]({'dir':'.json_models/','output':a2_0x18aeb6(0xe0),'suffix':''},program[a2_0x18aeb6(0xd9)]());function run(){const _0x6cd47f=a2_0x18aeb6,_0x30baf8=[],_0x3355e5=path_1['default'][_0x6cd47f(0xcb)](_path,options[_0x6cd47f(0xd0)]),_0x2dd050=(0x0,js_utils_plus_1[_0x6cd47f(0xc3)])(_0x3355e5,_0x6cd47f(0xf6),options[_0x6cd47f(0xc7)]||[]);console[_0x6cd47f(0xe7)](new Array(0x50)[_0x6cd47f(0xcb)]('-')),_0x2dd050[_0x6cd47f(0xc1)](function(_0x4d7401){const _0x58da12=_0x6cd47f,_0x11cb3f=(0x0,js_utils_plus_1['readFileSync'])(_0x4d7401,!![]);if(!_0x11cb3f){console[_0x58da12(0xf7)](_0x58da12(0xce)+_0x4d7401);return;}console['log'](_0x58da12(0xce)+_0x4d7401);const _0x1171d5=path_1[_0x58da12(0xc6)]['parse'](_0x4d7401);let _0x3478af=_0x11cb3f[_0x58da12(0xf1)]||_0x1171d5['name'];if(_0x11cb3f['__className'])delete _0x11cb3f['__className'];if(options[_0x58da12(0xbd)])_0x30baf8[_0x58da12(0xde)]({'name':_0x3478af,'json':_0x11cb3f});const {context:_0x34e542}=(0x0,json2dart_1[_0x58da12(0xdd)])(_0x11cb3f,_0x3478af,options[_0x58da12(0xf4)],options[_0x58da12(0xeb)],options['numparse']),_0x22faf5=path_1[_0x58da12(0xc6)][_0x58da12(0xcb)](_path,options[_0x58da12(0xc8)],_0x1171d5[_0x58da12(0xc0)]+_0x58da12(0xd2));(0x0,js_utils_plus_1[_0x58da12(0xca)])(_0x22faf5,_0x34e542);});if(options[_0x6cd47f(0xbd)]&&_0x30baf8[_0x6cd47f(0xe3)]>0x0){const _0x31ad28=(0x0,mock_generator_1['generateMockDart'])(_0x30baf8,options[_0x6cd47f(0xf4)]),_0xb758c6=path_1[_0x6cd47f(0xc6)]['join'](_path,options['output'],_0x6cd47f(0xf3));(0x0,js_utils_plus_1[_0x6cd47f(0xca)])(_0xb758c6,_0x31ad28),console['log']('-\x20Mock\x20文件已生成:'+_0xb758c6);}else{if(!options['mock']){const _0x2bd6b4=path_1[_0x6cd47f(0xc6)]['join'](_path,options[_0x6cd47f(0xc8)],'mock.dart');fs_1[_0x6cd47f(0xc6)][_0x6cd47f(0xc5)](_0x2bd6b4)&&(fs_1[_0x6cd47f(0xc6)][_0x6cd47f(0xbc)](_0x2bd6b4),console[_0x6cd47f(0xe7)](_0x6cd47f(0xcc)+_0x2bd6b4));}}}run();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "json2dart-generator",
3
- "version": "1.0.2",
3
+ "version": "1.1.5",
4
4
  "description": "JSON 转 Dart Model 类构建工具",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "scripts": {
10
10
  "dev": "tsc -w",
11
- "test": "tsc && node dist/index.js -d ./.json_models -o ./models --nullsafety",
11
+ "test": "tsc && node dist/index.js -d ./.json_models -o ./models --nullsafety --mock -s Entity",
12
12
  "build": "rimraf dist && tsc && javascript-obfuscator dist --output dist"
13
13
  },
14
14
  "author": "evan.lin",