serverClientFile function

DartFile serverClientFile(
  1. ClientServer server,
  2. Settings settings,
  3. String formatter(
    1. Spec
    )
)

Implementation

DartFile serverClientFile(
  ClientServer server,
  Settings settings,
  String Function(Spec) formatter,
) {
  final imports = server.allImports(
    additionalPackages: [
      'dart:convert',
      'package:revali_client/revali_client.dart',
      'package:http/http.dart',
      if (server.hasWebsockets)
        'package:web_socket_channel/web_socket_channel.dart',
      if (settings.integrateGetIt) 'package:get_it/get_it.dart',
    ],
    additionalPaths: ['interfaces.dart'],
  );

  final file = DartFile(
    basename: settings.packageName,
    parts: [
      for (final controller in server.controllers)
        if (!controller.isExcluded) controllerImplFile(controller, formatter),
      serverFile(server, formatter, settings),
    ],
    content:
        '''
$imports
''',
    segments: ['lib'],
  );

  return file;
}