Skip to content

Commit ffee32f

Browse files
committed
remove syntax package imports from generator
1 parent c46bbce commit ffee32f

File tree

1 file changed

+0
-162
lines changed

1 file changed

+0
-162
lines changed

pkgs/hook/tool/generate_syntax.dart

Lines changed: 0 additions & 162 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,6 @@ final rootSchemas = loadSchemas([
1919
]);
2020
final rootSchemas2 = rootSchemas.map((key, value) => MapEntry(value, key));
2121

22-
const packageImports = {
23-
'code_assets': ['hook'],
24-
'data_assets': ['hook'],
25-
'hook': <String>[],
26-
};
27-
2822
/// These classes are constructed peacemeal instead of in one go.
2923
///
3024
/// Generate public setters.
@@ -36,38 +30,6 @@ const _publicSetters = {
3630
'LinkOutput',
3731
};
3832

39-
String dependency(List<String> packages) {
40-
if (packages.length != 2) {
41-
throw UnimplementedError(
42-
'Extensions on extensions not supported. '
43-
'So, only expect at most two packages.',
44-
);
45-
}
46-
if (packageImports[packages[0]]!.contains(packages[1])) {
47-
return packages[1];
48-
}
49-
if (packageImports[packages[1]]!.contains(packages[0])) {
50-
return packages[0];
51-
}
52-
throw StateError('Unknown packages: $packages');
53-
}
54-
55-
String importer(List<String> packages) {
56-
if (packages.length != 2) {
57-
throw UnimplementedError(
58-
'Extensions on extensions not supported. '
59-
'So, only expect at most two packages.',
60-
);
61-
}
62-
if (packageImports[packages[0]]!.contains(packages[1])) {
63-
return packages[0];
64-
}
65-
if (packageImports[packages[1]]!.contains(packages[0])) {
66-
return packages[1];
67-
}
68-
throw StateError('Unknown packages: $packages');
69-
}
70-
7133
void main() {
7234
if (rootSchemas.length != rootSchemas2.length) {
7335
throw StateError(
@@ -114,8 +76,6 @@ void generate(
11476
final definitionSchemas = schemas.getDefinition(definitionKey);
11577
if (definitionSchemas.generateOpenEnum) {
11678
classes.add(generateEnumClass(definitionSchemas, name: definitionKey));
117-
} else if (definitionSchemas.generateExtension(packageName)) {
118-
classes.add(generateExtension(definitionSchemas));
11979
} else if (definitionSchemas.generateClass) {
12080
classes.add(generateClass(definitionSchemas, name: definitionKey));
12181
}
@@ -139,56 +99,6 @@ ${classes.join('\n\n')}
13999
print('Generated $outputUri');
140100
}
141101

142-
String generateExtension(JsonSchemas schemas) {
143-
final typeName = schemas.className!;
144-
final extensionSchemas = schemas.extensionSchemas;
145-
final baseSchemas = schemas.baseSchemas;
146-
final baseName = baseSchemas.className;
147-
if (baseName != typeName) {
148-
throw StateError(
149-
'Expected the class name of the extension '
150-
'to be identical to the base schema class name.',
151-
);
152-
}
153-
final basePropertyKeys = baseSchemas.propertyKeys;
154-
final extensionPropertyKeys =
155-
extensionSchemas.propertyKeys
156-
.where((e) => !basePropertyKeys.contains(e))
157-
.toList();
158-
159-
final accessors = <String>[];
160-
final classes = <String>[];
161-
for (final propertyKey in extensionPropertyKeys) {
162-
final propertySchemas = schemas.property(propertyKey);
163-
final required = schemas.propertyRequired(propertyKey);
164-
accessors.add(
165-
generateAccessor(
166-
propertyKey,
167-
propertySchemas,
168-
required,
169-
setterPrivate: false,
170-
),
171-
);
172-
if (propertySchemas.generateClass && propertySchemas.refs.isEmpty) {
173-
classes.add(generateClass(propertySchemas, name: propertyKey));
174-
}
175-
}
176-
177-
if (schemas.generateSubClasses) {
178-
classes.addAll(generateSubClasses(schemas));
179-
}
180-
181-
return [
182-
if (extensionPropertyKeys.isNotEmpty)
183-
'''
184-
extension ${baseName}Extension on $baseName {
185-
${accessors.join('\n\n')}
186-
}
187-
''',
188-
...classes,
189-
].join('\n\n');
190-
}
191-
192102
List<String> generateSubClasses(JsonSchemas schemas) {
193103
final classes = <String>[];
194104
final typeName = schemas.className;
@@ -968,12 +878,6 @@ extension type JsonSchemas._(List<JsonSchema> _schemas) {
968878
}
969879
}
970880
final result = JsonSchemas._(flattened);
971-
if (result.dartPackages.length > 2) {
972-
throw UnimplementedError(
973-
'Extensions on extensions not implemented. '
974-
'So only two package names are expected here.',
975-
);
976-
}
977881
return result;
978882
}
979883

@@ -1222,72 +1126,6 @@ extension CodeGenDecisions on JsonSchemas {
12221126
}
12231127
throw StateError('No super class schema found for $parentClassName.');
12241128
}
1225-
1226-
JsonSchemas get baseSchemas {
1227-
final packages = dartPackages;
1228-
if (packages.length == 1) {
1229-
return this;
1230-
}
1231-
if (packages.length != 2) {
1232-
throw UnimplementedError(
1233-
'No extensions on extensions supported. '
1234-
'So, only two package names expected.',
1235-
);
1236-
}
1237-
final package = dependency(packages);
1238-
final result = <JsonSchema>[];
1239-
for (final schema in _schemas) {
1240-
if (schema.dartPackage == package) {
1241-
result.add(schema);
1242-
}
1243-
}
1244-
return JsonSchemas._(result);
1245-
}
1246-
1247-
JsonSchemas get extensionSchemas {
1248-
final packages = dartPackages;
1249-
if (packages.length == 1) {
1250-
return JsonSchemas._([]);
1251-
}
1252-
if (packages.length != 2) {
1253-
throw UnimplementedError(
1254-
'No extensions on extensions supported. '
1255-
'So, only two package names expected.',
1256-
);
1257-
}
1258-
final package = importer(packages);
1259-
final result = <JsonSchema>[];
1260-
for (final schema in _schemas) {
1261-
if (schema.dartPackage == package) {
1262-
result.add(schema);
1263-
}
1264-
}
1265-
return JsonSchemas._(result);
1266-
}
1267-
1268-
bool generateExtension(String currentPackage) =>
1269-
dartPackages.length > 1 ||
1270-
dartPackages[0] != currentPackage && className != null;
1271-
1272-
List<String> get dartPackages {
1273-
final result = <String>[];
1274-
for (final schema in _schemas) {
1275-
final pkg = schema.dartPackage;
1276-
if (!result.contains(pkg)) {
1277-
result.add(pkg);
1278-
}
1279-
}
1280-
return result;
1281-
}
1282-
}
1283-
1284-
extension on JsonSchema {
1285-
String get dartPackage {
1286-
final schemaUri = rootSchemas2[root]!;
1287-
final segments = schemaUri.pathSegments;
1288-
final pkgName = segments[segments.indexOf('pkgs') + 1];
1289-
return pkgName;
1290-
}
12911129
}
12921130

12931131
extension on String {

0 commit comments

Comments
 (0)