@@ -97,6 +97,9 @@ class Asset {
97
97
List <Object > path = const [],
98
98
}) {
99
99
final result = Asset ._fromJson (json, path: path);
100
+ if (result.isNativeCodeAssetNew) {
101
+ return result.asNativeCodeAssetNew;
102
+ }
100
103
if (result.isNativeCodeAsset) {
101
104
return result.asNativeCodeAsset;
102
105
}
@@ -1075,6 +1078,59 @@ class NativeCodeAssetEncoding {
1075
1078
String toString () => 'NativeCodeAssetEncoding($json )' ;
1076
1079
}
1077
1080
1081
+ class NativeCodeAssetNew extends Asset {
1082
+ static const typeValue = 'code_assets/code' ;
1083
+
1084
+ NativeCodeAssetNew .fromJson (super .json, {super .path}) : super ._fromJson ();
1085
+
1086
+ NativeCodeAssetNew ({required NativeCodeAssetEncoding ? encoding})
1087
+ : super (type: 'code_assets/code' ) {
1088
+ _encoding = encoding;
1089
+ json.sortOnKey ();
1090
+ }
1091
+
1092
+ /// Setup all fields for [NativeCodeAssetNew] that are not in
1093
+ /// [Asset] .
1094
+ void setup ({required NativeCodeAssetEncoding ? encoding}) {
1095
+ _encoding = encoding;
1096
+ json.sortOnKey ();
1097
+ }
1098
+
1099
+ NativeCodeAssetEncoding ? get encoding {
1100
+ final jsonValue = _reader.optionalMap ('encoding' );
1101
+ if (jsonValue == null ) return null ;
1102
+ return NativeCodeAssetEncoding .fromJson (
1103
+ jsonValue,
1104
+ path: [...path, 'encoding' ],
1105
+ );
1106
+ }
1107
+
1108
+ set _encoding (NativeCodeAssetEncoding ? value) {
1109
+ json.setOrRemove ('encoding' , value? .json);
1110
+ }
1111
+
1112
+ List <String > _validateEncoding () {
1113
+ final mapErrors = _reader.validate <Map <String , Object ?>?>('encoding' );
1114
+ if (mapErrors.isNotEmpty) {
1115
+ return mapErrors;
1116
+ }
1117
+ return encoding? .validate () ?? [];
1118
+ }
1119
+
1120
+ @override
1121
+ List <String > validate () => [...super .validate (), ..._validateEncoding ()];
1122
+
1123
+ @override
1124
+ String toString () => 'NativeCodeAssetNew($json )' ;
1125
+ }
1126
+
1127
+ extension NativeCodeAssetNewExtension on Asset {
1128
+ bool get isNativeCodeAssetNew => type == 'code_assets/code' ;
1129
+
1130
+ NativeCodeAssetNew get asNativeCodeAssetNew =>
1131
+ NativeCodeAssetNew .fromJson (json, path: path);
1132
+ }
1133
+
1078
1134
class OS {
1079
1135
final String name;
1080
1136
0 commit comments