async function generatePackageListFileContentAsync(modules, className) {
    const modulesToImport = modules.filter((module) => module.modulesClassNames.length ||
        module.appDelegateSubscribers.length ||
        module.reactDelegateHandlers.length);
    const pods = modulesToImport.map((module) => module.podName);
    const modulesClassNames = []
        .concat(...modulesToImport.map((module) => module.modulesClassNames))
        .filter(Boolean);
    const appDelegateSubscribers = []
        .concat(...modulesToImport.map((module) => module.appDelegateSubscribers))
        .filter(Boolean);
    const reactDelegateHandlerModules = modulesToImport.filter((module) => !!module.reactDelegateHandlers.length);
    return `/**
 * Automatically generated by expo-modules-autolinking.
 *
 * This autogenerated class provides a list of classes of native Expo modules,
 * but only these that are written in Swift and use the new API for creating Expo modules.
 */

import ExpoModulesCore
${pods.map((podName) => `import ${podName}\n`).join('')}
@objc(${className})
public class ${className}: ModulesProvider {
  public override func getModuleClasses() -> [AnyModule.Type] {
    return ${formatArrayOfClassNames(modulesClassNames)}
  }

  public override func getAppDelegateSubscribers() -> [ExpoAppDelegateSubscriber.Type] {
    return ${formatArrayOfClassNames(appDelegateSubscribers)}
  }

  public override func getReactDelegateHandlers() -> [ExpoReactDelegateHandlerTupleType] {
    return ${formatArrayOfReactDelegateHandler(reactDelegateHandlerModules)}
  }
}
`;
}
/**
 * Generates the string to put into the generated package list.
 */
Generates the string to put into the generated package list.
Generates the string to put into the generated package list .
async function generatePackageListFileContentAsync(modules, className) {
    const modulesToImport = modules.filter((module) => module.modulesClassNames.length ||
        module.appDelegateSubscribers.length ||
        module.reactDelegateHandlers.length);
    const pods = modulesToImport.map((module) => module.podName);
    const modulesClassNames = []
        .concat(...modulesToImport.map((module) => module.modulesClassNames))
        .filter(Boolean);
    const appDelegateSubscribers = []
        .concat(...modulesToImport.map((module) => module.appDelegateSubscribers))
        .filter(Boolean);
    const reactDelegateHandlerModules = modulesToImport.filter((module) => !!module.reactDelegateHandlers.length);
    return `/**
 * Automatically generated by expo-modules-autolinking.
 *
 * This autogenerated class provides a list of classes of native Expo modules,
 * but only these that are written in Swift and use the new API for creating Expo modules.
 */
import ExpoModulesCore
${pods.map((podName) => `import ${podName}\n`).join('')}
@objc(${className})
public class ${className}: ModulesProvider {
  public override func getModuleClasses() -> [AnyModule.Type] {
    return ${formatArrayOfClassNames(modulesClassNames)}
  }
  public override func getAppDelegateSubscribers() -> [ExpoAppDelegateSubscriber.Type] {
    return ${formatArrayOfClassNames(appDelegateSubscribers)}
  }
  public override func getReactDelegateHandlers() -> [ExpoReactDelegateHandlerTupleType] {
    return ${formatArrayOfReactDelegateHandler(reactDelegateHandlerModules)}
  }
}
`;
}
async function generatePackageListFileContentAsync ( modules , className ) { const modulesToImport = modules . filter ( ( module ) => module . modulesClassNames . length || module . appDelegateSubscribers . length || module . reactDelegateHandlers . length ) ; const pods = modulesToImport . map ( ( module ) => module . podName ) ; const modulesClassNames = [ ] . concat ( ... modulesToImport . map ( ( module ) => module . modulesClassNames ) ) . filter ( Boolean ) ; const appDelegateSubscribers = [ ] . concat ( ... modulesToImport . map ( ( module ) => module . appDelegateSubscribers ) ) . filter ( Boolean ) ; const reactDelegateHandlerModules = modulesToImport . filter ( ( module ) => ! ! module . reactDelegateHandlers . length ) ; return ` ${ pods . map ( ( podName ) => ` ${ podName } \n ` ) . join ( '' ) } ${ className } ${ className } ${ formatArrayOfClassNames ( modulesClassNames ) } ${ formatArrayOfClassNames ( appDelegateSubscribers ) } ${ formatArrayOfReactDelegateHandler ( reactDelegateHandlerModules ) } ` ; }
Generates the string to put into the generated package list.
Generates the string to put into the generated package list .