这是indexloc提供的服务,不要输入任何密码
Skip to content

Improved server class names #24

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 22, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -388,10 +388,10 @@ packages:
dependency: "direct main"
description:
name: tonik_util
sha256: f16c86d5349fac40893d1d8ae87f6507192d8886f16ba6acefeabef4a61ae3ef
sha256: d1fc175e99d440d654d4be8b78f008d2d0614820fb8d9f40507cd3e5ee34fcca
url: "https://pub.dev"
source: hosted
version: "0.0.5"
version: "0.0.6"
typed_data:
dependency: transitive
description:
Expand Down
1 change: 0 additions & 1 deletion packages/tonik/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@ For a full list of changes of each release, refer to [release notes](https://git
### Short term goals
- `allowReserved` support for query parameters
- `format: uri` mapping to Dart `Uri`
- Add custom `Date` model in util package to handle `format: date` properly
- More E2E tests
- Full decoding and encoding support for any of and one of
- Support for `x-dart-name`, `x-dart-type` and `x-dart-enums`
Expand Down
4 changes: 2 additions & 2 deletions packages/tonik_generate/lib/src/naming/name_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ class NameGenerator {

({String baseName, Map<Server, String> serverMap, String customName})
_generateServerNames(List<Server> servers, List<String> uniqueNames) {
final baseName = _makeUnique('ApiServer', '');
final baseName = _makeUnique('Server', '');

final resultMap = <Server, String>{};
for (var index = 0; index < servers.length; index++) {
Expand All @@ -398,7 +398,7 @@ class NameGenerator {

({String baseName, Map<Server, String> serverMap, String customName})
_generateFallbackServerNames(List<Server> servers) {
final baseName = _makeUnique('ApiServer', '');
final baseName = _makeUnique('Server', '');

final resultMap = <Server, String>{};
for (final server in servers) {
Expand Down
30 changes: 15 additions & 15 deletions packages/tonik_generate/test/src/naming/name_generator_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1075,11 +1075,11 @@ void main() {
final result = generator.generateServerNames(servers);

expect(result.serverMap.length, 3);
expect(result.serverMap[servers[0]], 'ApiServer2');
expect(result.serverMap[servers[0]], 'ApiServer');
expect(result.serverMap[servers[1]], 'StagingServer');
expect(result.serverMap[servers[2]], 'DevServer');
expect(result.customName, 'CustomServer');
expect(result.baseName, 'ApiServer');
expect(result.baseName, 'Server');
});

test('generates names based on multi-level subdomain differences', () {
Expand All @@ -1100,7 +1100,7 @@ void main() {
expect(result.serverMap[servers[1]], 'ApiStagingServer');
expect(result.serverMap[servers[2]], 'ApiProdServer');
expect(result.customName, 'CustomServer');
expect(result.baseName, 'ApiServer');
expect(result.baseName, 'Server');
});

test(
Expand All @@ -1120,7 +1120,7 @@ void main() {
expect(result.serverMap[servers[1]], 'AcmeServer');
expect(result.serverMap[servers[2]], 'TestServer');
expect(result.customName, 'CustomServer');
expect(result.baseName, 'ApiServer');
expect(result.baseName, 'Server');
},
);

Expand All @@ -1140,7 +1140,7 @@ void main() {
expect(result.serverMap[servers[1]], 'V2Server');
expect(result.serverMap[servers[2]], 'BetaServer');
expect(result.customName, 'CustomServer');
expect(result.baseName, 'ApiServer');
expect(result.baseName, 'Server');
});

test(
Expand All @@ -1156,11 +1156,11 @@ void main() {
final result = generator.generateServerNames(servers);

expect(result.serverMap.length, 3);
expect(result.serverMap[servers[0]], 'Server');
expect(result.serverMap[servers[1]], 'Server2');
expect(result.serverMap[servers[2]], 'Server3');
expect(result.serverMap[servers[0]], 'Server2');
expect(result.serverMap[servers[1]], 'Server3');
expect(result.serverMap[servers[2]], 'Server4');
expect(result.customName, 'CustomServer');
expect(result.baseName, 'ApiServer');
expect(result.baseName, 'Server');
},
);

Expand All @@ -1180,7 +1180,7 @@ void main() {
expect(result.serverMap.length, 1);
expect(result.serverMap[servers[0]], 'CustomServer');
expect(result.customName, r'CustomServer$');
expect(result.baseName, 'ApiServer');
expect(result.baseName, 'Server');
},
);

Expand All @@ -1199,12 +1199,12 @@ void main() {
final result = generator.generateServerNames(servers);

expect(result.serverMap.length, 4);
expect(result.serverMap[servers[0]], 'Server');
expect(result.serverMap[servers[1]], 'Server2');
expect(result.serverMap[servers[2]], 'Server3');
expect(result.serverMap[servers[3]], 'Server4');
expect(result.serverMap[servers[0]], 'Server2');
expect(result.serverMap[servers[1]], 'Server3');
expect(result.serverMap[servers[2]], 'Server4');
expect(result.serverMap[servers[3]], 'Server5');
expect(result.customName, 'CustomServer');
expect(result.baseName, 'ApiServer');
expect(result.baseName, 'Server');
});
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ void main() {
final fileContent = File(generatedFile.path).readAsStringSync();

// Check file name
expect(actualFileName, equals('api_server.dart'));
expect(actualFileName, equals('server.dart'));

// Check file content
expect(fileContent, contains('sealed class ApiServer'));
expect(fileContent, contains('sealed class Server'));
expect(fileContent, contains('class ProductionServer'));
expect(fileContent, contains('class StagingServer'));
expect(fileContent, contains('class CustomServer'));
Expand Down Expand Up @@ -154,7 +154,7 @@ void main() {
final fileContent = File(generatedFile.path).readAsStringSync();

// Expect base class and custom class to be generated
expect(fileContent, contains('sealed class ApiServer'));
expect(fileContent, contains('sealed class Server'));
expect(fileContent, contains('class CustomServer'));

// No server-specific classes should be present
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ void main() {
final productionClass = generatedClasses[1];

expect(productionClass.name, 'ProductionServer');
expect(productionClass.extend?.accept(emitter).toString(), 'ApiServer');
expect(productionClass.extend?.accept(emitter).toString(), 'Server');
expect(
productionClass.docs.first,
'/// Production server - https://production.example.com',
Expand Down Expand Up @@ -144,7 +144,7 @@ void main() {
final stagingClass = generatedClasses[2];

expect(stagingClass.name, 'StagingServer');
expect(stagingClass.extend?.accept(emitter).toString(), 'ApiServer');
expect(stagingClass.extend?.accept(emitter).toString(), 'Server');
expect(
stagingClass.docs.first,
'/// Staging server - https://staging.example.com',
Expand Down Expand Up @@ -180,7 +180,7 @@ void main() {
final customClass = generatedClasses.last;

expect(customClass.name, 'CustomServer');
expect(customClass.extend?.accept(emitter).toString(), 'ApiServer');
expect(customClass.extend?.accept(emitter).toString(), 'Server');
expect(
customClass.docs.first,
'/// Custom server with user-defined base URL',
Expand Down