generateFile static method

String generateFile(
  1. List<AssetLookupFile> files,
  2. List<AssetLookupFolder> folders,
  3. AssetXConfig config,
  4. String packageName, {
  5. bool usePackagePrefix = true,
})

Generates the complete file content from AssetLookup objects

Implementation

static String generateFile(
  List<AssetLookupFile> files,
  List<AssetLookupFolder> folders,
  AssetXConfig config,
  String packageName, {
  bool usePackagePrefix = true,
}) {
  final buffer = CodeBuffer();

  // Add necessary imports
  buffer.addImport(
    '// ignore_for_file: non_constant_identifier_names, camel_case_types',
  );
  buffer.addImport('import \'package:assetx/objectx/objectx.dart\';');

  // Generate non-lazy static classes first
  StaticGenerator.generateNonLazyClasses(
    buffer,
    files,
    config,
    packageName,
    usePackagePrefix,
  );

  // Generate instance mapping with conflict resolution
  _generateInstanceMap(buffer, files, config, packageName, usePackagePrefix);

  // Generate folder structures
  _generateFolderStructures(buffer, folders, files, config);

  return buffer.generate();
}