Skip to content

Commit 6a1f7cd

Browse files
committed
feat: adapt to the latest version of Dart. [Flutter 3.7.10 Dart 2.19.6 ]
1 parent 8362228 commit 6a1f7cd

File tree

3 files changed

+27
-32
lines changed

3 files changed

+27
-32
lines changed

SKGenerateModelTool.dmg

-81.8 KB
Binary file not shown.

SKGenerateModelTool/Info.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
<key>CFBundlePackageType</key>
1818
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
1919
<key>CFBundleShortVersionString</key>
20-
<string>1.0</string>
20+
<string>2.0</string>
2121
<key>CFBundleVersion</key>
22-
<string>1</string>
22+
<string>2</string>
2323
<key>LSMinimumSystemVersion</key>
2424
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
2525
<key>NSAppTransportSecurity</key>

SKGenerateModelTool/SKCodeBuilder.swift

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ class SKCodeBuilder: NSObject {
9393
if config.codeType == .OC {
9494
if config.superClassName == "NSObject" {
9595
if ((config.jsonType == .YYModel) && (config.superClassName.compare("NSObject") == .orderedSame)) {
96-
let string =
96+
let string =
9797
"""
9898
\n#if __has_include(<YYModel/YYModel.h>)
9999
#import <YYModel/YYModel.h>
@@ -105,7 +105,6 @@ class SKCodeBuilder: NSObject {
105105
} else {
106106
hString.insert("\n#import <Foundation/Foundation.h>\n\n", at: 0)
107107
}
108-
109108
} else {
110109
hString.insert("\n#import \"\(config.superClassName).h\"\n\n", at: 0)
111110
}
@@ -259,7 +258,7 @@ class SKCodeBuilder: NSObject {
259258
}
260259
fromJsonString.append("\n\(modelName) _$\(modelName)FromJson(Map<String, dynamic> json, \(modelName) instance) {\n")
261260
toJsonString.append("\nMap<String, dynamic> _$\(modelName)ToJson(\(modelName) instance) {\n")
262-
toJsonString.append(" final Map<String, dynamic> json = new Map<String, dynamic>();\n")
261+
toJsonString.append(" final Map<String, dynamic> json = <String, dynamic>{};\n")
263262
} else if config.codeType == .TypeScript {
264263
if key.isBlank { // Root model
265264
hString.append("\nexport interface \(config.rootModelName) {\n")
@@ -299,21 +298,19 @@ class SKCodeBuilder: NSObject {
299298
} else if config.codeType == .Swift {
300299
hString.append(" var \(key): \(modelName)?\n")
301300
} else if config.codeType == .Dart {
302-
hString.append(" \(modelName) \(key);\n")
301+
hString.append(" \(modelName)? \(key);\n")
303302
self.yymodelPropertyGenericClassDicts.setValue(modelName, forKey: key)
304303
let fString =
305304
"""
306305
\(blankSpace)if(json['\(key)'] != null) {
307-
\(blankSpace)\(blankSpace2)instance.\(key) = new \(modelName)().fromJson(json['\(key)']);
306+
\(blankSpace)\(blankSpace2)instance.\(key) = \(modelName)().fromJson(json['\(key)']);
308307
\(blankSpace)}
309308
310309
"""
311310
fromJsonString.append(fString)
312311
let tString =
313312
"""
314-
\(blankSpace)if(instance.\(key) != null) {
315-
\(blankSpace)\(blankSpace2)json['\(key)'] = instance.\(key).toJson();
316-
\(blankSpace)}
313+
\(blankSpace)json['\(key)'] = instance.\(key)?.toJson();
317314
318315
"""
319316
toJsonString.append(tString)
@@ -333,7 +330,7 @@ class SKCodeBuilder: NSObject {
333330
} else if config.codeType == .Swift {
334331
hString.append(" var \(key): Any? \(singlelineCommentName(key, "<#泛型#>"))\n")
335332
} else if config.codeType == .Dart {
336-
hString.append(" dynamic \(key); \(singlelineCommentName(key, "<#泛型#>"))\n")
333+
hString.append(" dynamic? \(key); \(singlelineCommentName(key, "<#泛型#>"))\n")
337334
let fString =
338335
"""
339336
\(blankSpace)if(json['\(key)'] != null) {
@@ -472,12 +469,12 @@ class SKCodeBuilder: NSObject {
472469
if let firstObject = arrayValue.first {
473470
if firstObject is String {
474471
// String 类型
475-
hString.append(" List<String> \(key); \(singlelineCommentName(key, "", false))\n")
472+
hString.append(" List<String>? \(key); \(singlelineCommentName(key, "", false))\n")
476473

477474
let fString =
478475
"""
479476
\(blankSpace)if(json['\(key)'] != null) {
480-
\(blankSpace)\(blankSpace2)instance.\(key) = new List<String>();
477+
\(blankSpace)\(blankSpace2)instance.\(key) = <String>[];
481478
\(blankSpace)\(blankSpace2)instance.\(key) = json['\(key)']?.map((v) => v?.toString())?.toList()?.cast<String>();
482479
\(blankSpace)}
483480
@@ -498,24 +495,22 @@ class SKCodeBuilder: NSObject {
498495
let modeName = modelClassName(with: key)
499496
self.handleDicts.setValue(firstObject, forKey: key)
500497
self.yymodelPropertyGenericClassDicts.setValue(modeName, forKey: key)
501-
hString.append(" List<\(modeName)> \(key); \(singlelineCommentName(key, "", false))\n")
498+
hString.append(" List<\(modeName)>? \(key); \(singlelineCommentName(key, "", false))\n")
502499
let fString =
503500
"""
504501
\(blankSpace)if(json['\(key)'] != null) {
505-
\(blankSpace)\(blankSpace2)instance.\(key) = new List<\(modeName)>();
506-
\(blankSpace)\(blankSpace2)(json['\(key)'] as List).forEach((v) {
507-
\(blankSpace)\(blankSpace2)\(blankSpace2)instance.\(key).add(new \(modeName)().fromJson(v));
508-
\(blankSpace)\(blankSpace2)});
502+
\(blankSpace)\(blankSpace2)instance.\(key) = <\(modeName)>[];
503+
\(blankSpace)\(blankSpace2)for (var v in (json['\(key)'] as List)) {
504+
\(blankSpace)\(blankSpace2)\(blankSpace2)instance.\(key)?.add(\(modeName)().fromJson(v));
505+
\(blankSpace)\(blankSpace2)}
509506
\(blankSpace)}
510507
511508
"""
512509
fromJsonString.append(fString)
513510

514511
let tString =
515512
"""
516-
\(blankSpace)if(instance.\(key) != null) {
517-
\(blankSpace)\(blankSpace2)json['\(key)'] = instance.\(key).map((v) => v.toJson()).toList();
518-
\(blankSpace)}
513+
\(blankSpace)json['\(key)'] = instance.\(key)?.map((v) => v.toJson()).toList();
519514
520515
"""
521516
toJsonString.append(tString)
@@ -526,12 +521,12 @@ class SKCodeBuilder: NSObject {
526521
handleArrayValue(arrayValue: firstObject as! [Any] , key: key, hString: hString)
527522
}
528523
else {
529-
hString.append(" List<dynamic> \(key); \(singlelineCommentName(key, "", false))\n")
524+
hString.append(" List<dynamic>? \(key); \(singlelineCommentName(key, "", false))\n")
530525

531526
let fString =
532527
"""
533528
\(blankSpace)if(json['\(key)'] != null) {
534-
\(blankSpace)\(blankSpace2)instance.\(key) = new List<dynamic>();
529+
\(blankSpace)\(blankSpace2)instance.\(key) = <dynamic>[];
535530
\(blankSpace)\(blankSpace2)instance.\(key).addAll(json['\(key)']);
536531
\(blankSpace)}
537532
@@ -585,7 +580,7 @@ class SKCodeBuilder: NSObject {
585580
} else if config.codeType == .Swift {
586581
hString.append(" var \(key): Double? \(singlelineCommentName(key, "\(numValue)"))\n")
587582
} else if config.codeType == .Dart {
588-
hString.append(" double \(key); \(singlelineCommentName(key, "\(numValue)"))\n")
583+
hString.append(" double? \(key); \(singlelineCommentName(key, "\(numValue)"))\n")
589584

590585
let fString =
591586
"""
@@ -601,7 +596,7 @@ class SKCodeBuilder: NSObject {
601596
"""
602597
fromJsonString.append(fString)
603598

604-
let tString = " json['\(key)'] = instance.\(key);\n"
599+
let tString = "\(blankSpace)json['\(key)'] = instance.\(key);\n"
605600
toJsonString.append(tString)
606601
} else if config.codeType == .TypeScript {
607602
hString.append(" \(key): number; \(singlelineCommentName(key, "\(numValue)"))\n")
@@ -615,7 +610,7 @@ class SKCodeBuilder: NSObject {
615610
} else if config.codeType == .Swift {
616611
hString.append(" var \(key): Bool = false \(singlelineCommentName(key, (numValue.boolValue == true ? "true" : "false")))\n")
617612
} else if config.codeType == .Dart {
618-
hString.append(" bool \(key); \(singlelineCommentName(key, (numValue.boolValue == true ? "true" : "false")))\n")
613+
hString.append(" bool? \(key); \(singlelineCommentName(key, (numValue.boolValue == true ? "true" : "false")))\n")
619614
let fString =
620615
"""
621616
\(blankSpace)if(json['\(key)'] != null) {
@@ -625,7 +620,7 @@ class SKCodeBuilder: NSObject {
625620
"""
626621
fromJsonString.append(fString)
627622

628-
let tString = " json['\(key)'] = instance.\(key);\n"
623+
let tString = "\(blankSpace)json['\(key)'] = instance.\(key);\n"
629624
toJsonString.append(tString)
630625
} else if config.codeType == .TypeScript {
631626
hString.append(" \(key): boolean; \(singlelineCommentName(key, (numValue.boolValue == true ? "true" : "false")))\n")
@@ -662,7 +657,7 @@ class SKCodeBuilder: NSObject {
662657
}
663658

664659
if config.codeType == .Dart {
665-
hString.append(" int \(key); \(singlelineCommentName(key, "\(intValue)"))\n")
660+
hString.append(" int? \(key); \(singlelineCommentName(key, "\(intValue)"))\n")
666661

667662
let fString =
668663
"""
@@ -678,7 +673,7 @@ class SKCodeBuilder: NSObject {
678673
"""
679674

680675
fromJsonString.append(fString)
681-
let tString = " json['\(key)'] = instance.\(key);\n"
676+
let tString = "\(blankSpace)json['\(key)'] = instance.\(key);\n"
682677
toJsonString.append(tString)
683678
} else if config.codeType == .TypeScript {
684679
hString.append(" \(key): number; \(singlelineCommentName(key, "\(intValue)"))\n")
@@ -710,9 +705,9 @@ class SKCodeBuilder: NSObject {
710705
} else if config.codeType == .Dart {
711706
if key == "id" && !ignoreIdValue {
712707
self.handlePropertyMapper.setValue("id", forKey: "itemId")
713-
hString.append(" String \(key); \(singlelineCommentName(key, idValue))\n")
708+
hString.append(" String? \(key); \(singlelineCommentName(key, idValue))\n")
714709
} else {
715-
hString.append(" String \(key); \(singlelineCommentName(key, idValue))\n")
710+
hString.append(" String? \(key); \(singlelineCommentName(key, idValue))\n")
716711
}
717712
let fString =
718713
"""
@@ -723,7 +718,7 @@ class SKCodeBuilder: NSObject {
723718
"""
724719
fromJsonString.append(fString)
725720

726-
let tString = " json['\(key)'] = instance.\(key);\n"
721+
let tString = "\(blankSpace)json['\(key)'] = instance.\(key);\n"
727722
toJsonString.append(tString)
728723
} else if config.codeType == .TypeScript {
729724
hString.append(" \(key): string; \(singlelineCommentName(key, idValue))\n")

0 commit comments

Comments
 (0)