@@ -5,17 +5,16 @@ import 'package:dartx/dartx.dart';
55import 'package:flutter/foundation.dart' ;
66import 'package:flutter/material.dart' ;
77import 'package:flutter/services.dart' ;
8+ import 'package:flutter_gen/gen_l10n/app_localizations.dart' ;
89import 'package:flutter_smart_dialog/flutter_smart_dialog.dart' ;
910import 'package:flutter_spinkit/flutter_spinkit.dart' ;
10- import 'package:get/get_state_manager/get_state_manager .dart' ;
11+ import 'package:get/get .dart' ;
1112import 'package:intl/intl.dart' ;
12- import 'package:json_to_dart/models/dart_property.dart' ;
13- import 'package:json_to_dart/utils/dart_helper.dart' ;
14- import 'package:json_to_dart/utils/extension.dart' ;
15- import 'package:json_to_dart/utils/my_string_buffer.dart' ;
13+ import 'package:json_to_dart_library/json_to_dart_library.dart' hide StringE;
1614
1715import 'models/config.dart' ;
18- import 'models/dart_object.dart' ;
16+
17+ AppLocalizations get appLocalizations => AppLocalizations .of (Get .context! )! ;
1918
2019void showAlertDialog (String msg, [IconData data = Icons .warning]) {
2120 SmartDialog .show (
@@ -34,7 +33,7 @@ void showAlertDialog(String msg, [IconData data = Icons.warning]) {
3433 );
3534}
3635
37- class MainController extends GetxController {
36+ class MainController extends GetxController with JsonToDartControllerMixin {
3837 final TextEditingController _textEditingController = TextEditingController ();
3938
4039 final TextEditingController fileHeaderHelpController = TextEditingController ()
@@ -50,10 +49,6 @@ class MainController extends GetxController {
5049
5150 TextEditingController get textEditingController => _textEditingController;
5251
53- Set <DartProperty > allProperties = < DartProperty > {};
54- Set <DartObject > allObjects = < DartObject > {};
55- Set <DartObject > printedObjects = < DartObject > {};
56-
5752 Future <void > formatJsonAndCreateDartObject () async {
5853 allProperties.clear ();
5954 allObjects.clear ();
@@ -80,7 +75,7 @@ class MainController extends GetxController {
8075 handleError (error, stackTrace);
8176 });
8277
83- final DartObject ? extendedObject = createDartObject (jsonData);
78+ final DartObject ? extendedObject = dynamicToDartObject (jsonData);
8479 // final DartObject? extendedObject =
8580 // await compute<dynamic, DartObject?>(createDartObject, jsonData)
8681 // .onError((Object? error, StackTrace stackTrace) {
@@ -116,32 +111,30 @@ class MainController extends GetxController {
116111 SmartDialog .dismiss ();
117112 }
118113
119- String ? generateDart () {
120- // allProperties.clear();
121- // allObjects.clear();
114+ @override
115+ String ? generateDartCode (DartObject ? dartObject) {
122116 printedObjects.clear ();
123117
124118 if (dartObject != null ) {
125119 final DartObject ? errorObject = allObjects.firstOrNullWhere (
126120 (DartObject element) =>
127- element.classError.isNotEmpty ||
128- element.propertyError.isNotEmpty);
121+ element.hasClassError || element.hasPropertyError);
129122 if (errorObject != null ) {
130123 showAlertDialog (errorObject.classError.join ('\n ' ) +
131124 '\n ' +
132125 errorObject.propertyError.join ('\n ' ));
133126 return null ;
134127 }
135128
136- final DartProperty ? errorProperty = allProperties. firstOrNullWhere (
137- ( DartProperty element) => element.propertyError.isNotEmpty );
129+ final DartProperty ? errorProperty = allProperties
130+ . firstOrNullWhere (( DartProperty element) => element.hasPropertyError );
138131
139132 if (errorProperty != null ) {
140133 showAlertDialog (errorProperty.propertyError.join ('\n ' ));
141134 return null ;
142135 }
143136
144- final MyStringBuffer sb = MyStringBuffer ();
137+ final CustomStringBuffer sb = CustomStringBuffer ();
145138 try {
146139 if (ConfigSetting ().fileHeaderInfo.isNotEmpty) {
147140 String info = ConfigSetting ().fileHeaderInfo;
@@ -191,7 +184,7 @@ class MainController extends GetxController {
191184 : DartHelper .asTMethod);
192185 }
193186
194- sb.writeLine (dartObject! .toString ());
187+ sb.writeLine (dartObject.toString ());
195188 String result = sb.toString ();
196189
197190 final DartFormatter formatter = DartFormatter (
@@ -248,32 +241,15 @@ class MainController extends GetxController {
248241 dartObject! .updatePropertyAccessorType ();
249242 }
250243 }
251- }
252244
253- DartObject ? createDartObject (dynamic jsonData) {
254- DartObject ? extendedObject;
245+ @override
246+ void handleError (Object ? e, StackTrace stack) {
247+ print ('$e ' );
248+ print ('$stack ' );
249+ showAlertDialog (appLocalizations.formatErrorInfo, Icons .error);
255250
256- if (jsonData is Map ) {
257- extendedObject = DartObject (
258- depth: 0 ,
259- keyValuePair:
260- MapEntry <String , dynamic >('Root' , jsonData as Map <String , dynamic >),
261- nullable: false ,
262- uid: 'Root' ,
263- );
264- } else if (jsonData is List ) {
265- final Map <String , List <dynamic >> root = < String , List <dynamic >> {
266- 'Root' : jsonData
267- };
268- extendedObject = DartObject (
269- depth: 0 ,
270- keyValuePair: MapEntry <String , dynamic >('Root' , root),
271- nullable: false ,
272- uid: 'Root' ,
273- ).objectKeys['Root' ]!
274- ..decDepth ();
251+ Clipboard .setData (ClipboardData (text: '$e \n $stack ' ));
275252 }
276- return extendedObject;
277253}
278254
279255String ? formatJson (dynamic jsonData) {
@@ -288,11 +264,3 @@ String? formatJson(dynamic jsonData) {
288264 }
289265 return null ;
290266}
291-
292- void handleError (Object ? e, StackTrace stack) {
293- print ('$e ' );
294- print ('$stack ' );
295- showAlertDialog (appLocalizations.formatErrorInfo, Icons .error);
296-
297- Clipboard .setData (ClipboardData (text: '$e \n $stack ' ));
298- }
0 commit comments