json2dart-generator 0.1.1 → 0.2.0
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 +2 -2
- package/dist/core/json2dart.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -25,8 +25,8 @@ Options:
|
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
- 备注:
|
|
28
|
-
-
|
|
29
|
-
-
|
|
28
|
+
- 默认`json`的文件名为模型类名,也可通过键`__className`指定类名。
|
|
29
|
+
- 类和属性名称自动蛇形转驼峰,当属性名为`dart关键字`时将在名称前面加`the`。
|
|
30
30
|
- 当`json`的值类型不存在或空时,自动默认处理为`String`类型并控制台输出警告。
|
|
31
31
|
|
|
32
32
|
- 帮助文档
|
package/dist/core/json2dart.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';const a0_0x1a80e2=a0_0x181a;(function(_0x2b7598,_0x53950e){const _0x585b6e=a0_0x181a,_0x16b32a=_0x2b7598();while(!![]){try{const _0x3a1b11=-parseInt(_0x585b6e(0x222))/0x1*(-parseInt(_0x585b6e(0x209))/0x2)+-parseInt(_0x585b6e(0x1d7))/0x3+parseInt(_0x585b6e(0x220))/0x4+parseInt(_0x585b6e(0x1fe))/0x5*(parseInt(_0x585b6e(0x1e3))/0x6)+-parseInt(_0x585b6e(0x203))/0x7*(-parseInt(_0x585b6e(0x1e6))/0x8)+parseInt(_0x585b6e(0x1e7))/0x9+-parseInt(_0x585b6e(0x1c6))/0xa;if(_0x3a1b11===_0x53950e)break;else _0x16b32a['push'](_0x16b32a['shift']());}catch(_0x3c49de){_0x16b32a['push'](_0x16b32a['shift']());}}}(a0_0x57c3,0xbdd99));Object[a0_0x1a80e2(0x1cf)](exports,a0_0x1a80e2(0x1d1),{'value':!![]}),exports[a0_0x1a80e2(0x1e0)]=jsonToDart;const js_utils_plus_1=require(a0_0x1a80e2(0x1f0));function modelTypeGenerator(_0x55bbac,_0x18f563,_0x182082,_0x855864){const _0x5298ee=a0_0x1a80e2;if((0x0,js_utils_plus_1[_0x5298ee(0x1fd)])(_0x55bbac))return{'type':_0x5298ee(0x1f6),'typeTo':_0x2f144e=>_0x2f144e,'typeFrom':_0x44d2fa=>_0x44d2fa+'\x20is\x20bool\x20?\x20'+_0x44d2fa+_0x5298ee(0x21e)};if((0x0,js_utils_plus_1[_0x5298ee(0x1e5)])(_0x55bbac))return{'type':_0x5298ee(0x224),'typeTo':_0x48caea=>_0x48caea,'typeFrom':_0x228c07=>_0x228c07+_0x5298ee(0x1f9)};if((0x0,js_utils_plus_1['isNumber'])(_0x55bbac)){if(_0x855864)return{'type':_0x5298ee(0x223),'typeTo':_0x2d02ba=>_0x2d02ba,'typeFrom':_0x2bbb77=>_0x5298ee(0x1d3)+_0x2bbb77+'?.toString()\x20??\x20\x27\x27)'};return(0x0,js_utils_plus_1[_0x5298ee(0x1e9)])(_0x55bbac)?{'type':_0x5298ee(0x221),'typeTo':_0x530f8d=>_0x530f8d,'typeFrom':_0x26d703=>_0x5298ee(0x1c9)+_0x26d703+'?.toString()\x20??\x20\x27\x27)'}:{'type':_0x5298ee(0x1c5),'typeTo':_0x10e074=>_0x10e074,'typeFrom':_0xfb046a=>_0x5298ee(0x1f1)+_0xfb046a+_0x5298ee(0x1f4)};}if((0x0,js_utils_plus_1[_0x5298ee(0x227)])(_0x55bbac))return{'type':_0x18f563,'typeTo':_0xfdc7d9=>_0xfdc7d9+_0x5298ee(0x1fc),'typeFrom':_0x2b5ba5=>'('+_0x2b5ba5+'\x20!=\x20null\x20&&\x20'+_0x2b5ba5+'\x20is\x20Map<String,\x20dynamic>)\x20?\x20'+_0x18f563+_0x5298ee(0x1c8)+_0x2b5ba5+')\x20:\x20null','subLines':jsonToDart(_0x55bbac,_0x18f563,_0x182082,_0x855864)};if((0x0,js_utils_plus_1[_0x5298ee(0x20c)])(_0x55bbac)){const _0x4e7c67=_0x55bbac[0x0];if(!_0x4e7c67)console[_0x5298ee(0x1d8)]('-\x20警告!:'+_0x18f563+'\x20类包含值为\x22空\x22的属性,将被默认视为”String“类型');const {type:_0x2a91c8,typeTo:_0x5b38e6,typeFrom:_0x4273fa,subLines:_0x388c6e}=modelTypeGenerator(_0x4e7c67||'',_0x18f563,_0x182082,_0x855864);return{'type':_0x5298ee(0x1fb)+_0x2a91c8+(_0x182082?'?':'')+'>','typeTo':_0x8d467d=>_0x8d467d+_0x5298ee(0x21d)+_0x5b38e6('e')+_0x5298ee(0x216),'typeFrom':_0x30a361=>'('+_0x30a361+_0x5298ee(0x1ed)+_0x30a361+_0x5298ee(0x226)+_0x30a361+'.map((e)\x20=>\x20'+_0x4273fa('e')+_0x5298ee(0x1da),'subLines':_0x388c6e};}return console['log'](_0x5298ee(0x1e1)+_0x18f563+_0x5298ee(0x20d)),{'type':_0x5298ee(0x224),'typeTo':_0x2055ae=>_0x2055ae,'typeFrom':_0x2914ac=>_0x2914ac+'?.toString()'};}function modelKeywordDefence(_0x3ba6a7){const _0x3f4ed5=a0_0x1a80e2;let _0x3bdadc=[_0x3f4ed5(0x223),_0x3f4ed5(0x1c5),_0x3f4ed5(0x221),_0x3f4ed5(0x224),'bool',_0x3f4ed5(0x215),_0x3f4ed5(0x21a),_0x3f4ed5(0x1d6),'implements',_0x3f4ed5(0x1dc),'as',_0x3f4ed5(0x1ef),_0x3f4ed5(0x1d9),_0x3f4ed5(0x207),_0x3f4ed5(0x1e2),_0x3f4ed5(0x20b),'in',_0x3f4ed5(0x1d0),_0x3f4ed5(0x20f),_0x3f4ed5(0x208),_0x3f4ed5(0x1ee),'switch','await',_0x3f4ed5(0x21f),'is',_0x3f4ed5(0x210),_0x3f4ed5(0x21b),_0x3f4ed5(0x213),_0x3f4ed5(0x21c),_0x3f4ed5(0x206),_0x3f4ed5(0x1ce),'factory',_0x3f4ed5(0x1cd),_0x3f4ed5(0x1eb),_0x3f4ed5(0x20e),_0x3f4ed5(0x1ca),_0x3f4ed5(0x1d2),_0x3f4ed5(0x201),_0x3f4ed5(0x1e4),_0x3f4ed5(0x1f8),_0x3f4ed5(0x200),_0x3f4ed5(0x1f3),_0x3f4ed5(0x1f5),_0x3f4ed5(0x225),'on',_0x3f4ed5(0x217),_0x3f4ed5(0x1e8),_0x3f4ed5(0x1f2),_0x3f4ed5(0x1ff),_0x3f4ed5(0x204),_0x3f4ed5(0x212),_0x3f4ed5(0x1db),_0x3f4ed5(0x219),'void',_0x3f4ed5(0x1ec),_0x3f4ed5(0x1dd),_0x3f4ed5(0x1d4),_0x3f4ed5(0x202),_0x3f4ed5(0x1ea),'hide',_0x3f4ed5(0x211),_0x3f4ed5(0x1f7),'do','if',_0x3f4ed5(0x1c4),'yield'];if(_0x3bdadc['includes'](_0x3ba6a7)||/^\d/['test'](_0x3ba6a7))return _0x3f4ed5(0x20a)+(0x0,js_utils_plus_1['uppercaseFirst'])(_0x3ba6a7);return(0x0,js_utils_plus_1['snakeToCamel'])(_0x3ba6a7);}function a0_0x181a(_0x3b630d,_0x46d470){_0x3b630d=_0x3b630d-0x1c4;const _0x57c330=a0_0x57c3();let _0x181a51=_0x57c330[_0x3b630d];return _0x181a51;}function jsonToDart(_0x57aa5b,_0x13687d,_0x4f225c,_0x34157c){const _0x4a2082=a0_0x1a80e2;_0x13687d=(0x0,js_utils_plus_1[_0x4a2082(0x1fa)])((0x0,js_utils_plus_1['snakeToCamel'])(_0x13687d));let _0x4b6991=[],_0x438a4b=[],_0x57096b=[],_0x235124=[],_0x1a497f=[],_0x4c8915=[];_0x4b6991['push']('class\x20'+_0x13687d+'\x20{'),_0x57096b[_0x4a2082(0x1cc)]('\x20\x20'+_0x13687d+'({\x0a'),_0x235124[_0x4a2082(0x1cc)]('\x20\x20'+_0x13687d+_0x4a2082(0x1cb)),_0x1a497f['push'](_0x4a2082(0x205));for(const [_0x358663,_0x2a7473]of Object['entries'](_0x57aa5b)){let _0x53027f='\x27'+_0x358663+'\x27',_0x250527=modelKeywordDefence(_0x358663);const _0x4daf26=''+_0x13687d+(0x0,js_utils_plus_1['uppercaseFirst'])((0x0,js_utils_plus_1[_0x4a2082(0x218)])(_0x358663)),{type:_0x5731bf,typeTo:_0x3278d5,typeFrom:_0x5e8206,subLines:_0x21330e}=modelTypeGenerator(_0x2a7473,_0x4daf26,_0x4f225c,_0x34157c);if(_0x21330e)_0x4c8915['push'](_0x21330e);_0x57096b[_0x4a2082(0x1cc)]('\x20\x20\x20\x20this.'+_0x250527+',\x0a'),_0x438a4b[_0x4a2082(0x1cc)]('\x20\x20'+_0x5731bf+(_0x4f225c?'?':'')+'\x20'+_0x250527+';\x0a'),_0x235124[_0x4a2082(0x1cc)](_0x4a2082(0x1de)+_0x250527+'\x20=\x20'+_0x5e8206(_0x4a2082(0x1c7)+_0x53027f+']')+';\x0a'),_0x1a497f[_0x4a2082(0x1cc)]('\x20\x20\x20\x20\x20\x20\x20\x20'+_0x53027f+':\x20'+_0x3278d5(_0x250527)+',\x0a');}return _0x57096b[_0x4a2082(0x1cc)](_0x4a2082(0x1d5)),_0x235124[_0x4a2082(0x1cc)]('\x20\x20}'),_0x1a497f[_0x4a2082(0x1cc)](_0x4a2082(0x1df)),_0x4b6991['push'](_0x438a4b[_0x4a2082(0x214)]('')),_0x4b6991[_0x4a2082(0x1cc)](_0x57096b[_0x4a2082(0x214)]('')),_0x4b6991[_0x4a2082(0x1cc)](_0x235124['join']('')),_0x4b6991['push'](_0x1a497f[_0x4a2082(0x214)]('')),_0x4b6991[_0x4a2082(0x1cc)]('}\x0a'),_0x4b6991[_0x4a2082(0x1cc)](_0x4c8915[_0x4a2082(0x214)]('')),_0x4b6991[_0x4a2082(0x214)]('\x0d\x0a');}function a0_0x57c3(){const _0x53daf4=['sync','return','covariant','external','join','List',')?.toList()','typedef','snakeToCamel','part','abstract','break','library','?.map((e)\x20=>\x20','\x20:\x20null','extends','3865656nraWRj','int','728407XbnmSI','num','String','finally','\x20is\x20List)\x20?\x20','isObject','set','double','25524860ejOTjj','json[','.fromJson(','int.tryParse(','false','.fromJson(Map<String,\x20dynamic>\x20json)\x20{\x0a','push','mixin','case','defineProperty','super','__esModule','new','num.tryParse(','rethrow','\x20\x20});','dynamic','2721432zwlKFI','log','import',')?.toList()\x20:\x20null','Function','show','get','\x20\x20\x20\x20','\x20\x20\x20\x20\x20\x20};','jsonToDart','-\x20警告!:','assert','786ffuUYr','class','isString','104008EAQVxC','9256239RsKMit','continue','isInt','deferred','throw','default','\x20!=\x20null\x20&&\x20','interface','else','js-utils-plus','double.tryParse(','for','try','?.toString()\x20??\x20\x27\x27)','const','bool','with','final','?.toString()','uppercaseFirst','List<','?.toJson()','isBoolean','33470NWDLOI','operator','null','true','while','343NZEtSS','var','\x20\x20Map<String,\x20dynamic>\x20toJson()\x20=>\x20{\x0a','this','static','export','2UEAigK','the','enum','isArray','\x20类包含值为\x22空\x22的属性,将被默认视为”String“类型','catch','async'];a0_0x57c3=function(){return _0x53daf4;};return a0_0x57c3();}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
|
-
'use strict';const
|
|
2
|
+
'use strict';const a1_0xfb1923=a1_0x3e0a;(function(_0x4eb1a2,_0x4152d3){const _0x4b910c=a1_0x3e0a,_0xeed581=_0x4eb1a2();while(!![]){try{const _0x498109=parseInt(_0x4b910c(0xcd))/0x1+parseInt(_0x4b910c(0xca))/0x2*(parseInt(_0x4b910c(0xc5))/0x3)+parseInt(_0x4b910c(0xd8))/0x4*(parseInt(_0x4b910c(0xc7))/0x5)+-parseInt(_0x4b910c(0xde))/0x6*(parseInt(_0x4b910c(0xda))/0x7)+-parseInt(_0x4b910c(0xce))/0x8*(-parseInt(_0x4b910c(0xe6))/0x9)+parseInt(_0x4b910c(0xdc))/0xa*(-parseInt(_0x4b910c(0xcf))/0xb)+-parseInt(_0x4b910c(0xd4))/0xc;if(_0x498109===_0x4152d3)break;else _0xeed581['push'](_0xeed581['shift']());}catch(_0xceac5e){_0xeed581['push'](_0xeed581['shift']());}}}(a1_0x15b5,0x1c4eb));var __importDefault=this&&this[a1_0xfb1923(0xe4)]||function(_0x15db98){const _0x4d069a=a1_0xfb1923;return _0x15db98&&_0x15db98[_0x4d069a(0xd6)]?_0x15db98:{'default':_0x15db98};};function a1_0x3e0a(_0x3ba330,_0x28d871){_0x3ba330=_0x3ba330-0xbb;const _0x15b551=a1_0x15b5();let _0x3e0a1c=_0x15b551[_0x3ba330];return _0x3e0a1c;}function a1_0x15b5(){const _0x3cd9c9=['error','parse','-e,\x20--excludes\x20<value...>','__className','js-utils-plus','output','suffix','default','.json_models/','-\x20执行文件:','listFilesRecursively','1212qXIHxB','join','5zeCDPB','--nullsafety','forEach','422XNdork','path','Entity','163608LPeUaF','55856NGTXCm','264781HqeYjn','json','-s,\x20--suffix\x20<value>','opts','log','3439824xKajfF','.dart','__esModule','-o,\x20--output\x20<dir>','699740XHzyIa','excludes','8701mYClLz','cwd','10EopIFJ','dart模型输出路径,默认\x20lib/models','222nwpPwJ','defineProperty','option','jsonToDart','-d,\x20--dir\x20<dir>','commander','__importDefault','assign','63gFwfXV','使用num数据类型而不是double/int','writeFileSync','readFileSync'];a1_0x15b5=function(){return _0x3cd9c9;};return a1_0x15b5();}Object[a1_0xfb1923(0xdf)](exports,a1_0xfb1923(0xd6),{'value':!![]});const json2dart_1=require('./core/json2dart'),js_utils_plus_1=require(a1_0xfb1923(0xbe)),commander_1=require(a1_0xfb1923(0xe3)),path_1=__importDefault(require(a1_0xfb1923(0xcb))),program=new commander_1['Command'](),_path=process[a1_0xfb1923(0xdb)]();program[a1_0xfb1923(0xe0)](a1_0xfb1923(0xe2),'json文件夹路径,默认\x20.json_models/')[a1_0xfb1923(0xe0)](a1_0xfb1923(0xd7),a1_0xfb1923(0xdd))['option'](a1_0xfb1923(0xd1),'自定义dart模型类名后缀,\x20默认\x20Entity')[a1_0xfb1923(0xe0)](a1_0xfb1923(0xbc),'需要排除的文件或文件夹,可指定多个文件')['option']('--numparse',a1_0xfb1923(0xe7))[a1_0xfb1923(0xe0)](a1_0xfb1923(0xc8),'是否启用空安全'),program[a1_0xfb1923(0xbb)]();const options=Object[a1_0xfb1923(0xe5)]({'dir':a1_0xfb1923(0xc2),'output':'lib/models','suffix':a1_0xfb1923(0xcc)},program[a1_0xfb1923(0xd2)]());function run(){const _0x31c0d8=a1_0xfb1923,_0x510274=path_1[_0x31c0d8(0xc1)]['join'](_path,options['dir']),_0x24f173=(0x0,js_utils_plus_1[_0x31c0d8(0xc4)])(_0x510274,_0x31c0d8(0xd0),options[_0x31c0d8(0xd9)]||[]);console[_0x31c0d8(0xd3)](new Array(0x50)['join']('-')),_0x24f173[_0x31c0d8(0xc9)](function(_0x5c24e7){const _0x523db5=_0x31c0d8,_0x232a5f=(0x0,js_utils_plus_1[_0x523db5(0xe9)])(_0x5c24e7,!![]);if(!_0x232a5f){console[_0x523db5(0xea)](_0x523db5(0xc3)+_0x5c24e7);return;}console[_0x523db5(0xd3)](_0x523db5(0xc3)+_0x5c24e7);const _0x5d2043=path_1[_0x523db5(0xc1)][_0x523db5(0xbb)](_0x5c24e7);let _0x15caad=_0x232a5f[_0x523db5(0xbd)]||_0x5d2043['name'];if(_0x232a5f[_0x523db5(0xbd)])delete _0x232a5f['__className'];const _0x18311a=(0x0,json2dart_1[_0x523db5(0xe1)])(_0x232a5f,options[_0x523db5(0xc0)]?''+_0x15caad+options[_0x523db5(0xc0)]:_0x15caad,options['nullsafety'],options['numparse']),_0x4f3960=path_1[_0x523db5(0xc1)][_0x523db5(0xc6)](_path,options[_0x523db5(0xbf)],_0x5d2043['name']+_0x523db5(0xd5));(0x0,js_utils_plus_1[_0x523db5(0xe8)])(_0x4f3960,_0x18311a);});}run();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "json2dart-generator",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "json to dart model generator",
|
|
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
|
|
11
|
+
"test": "tsc && node dist/index.js -d ./.json_models -o ./models -s Entity --nullsafety --numparse",
|
|
12
12
|
"build": "rimraf dist && tsc && javascript-obfuscator dist --output dist"
|
|
13
13
|
},
|
|
14
14
|
"author": "evan.lin",
|