import type { RewardedAdsConfig, RewardedAdTargetPlatform } from '../../core/src/types.ts'; import { createNativeProviderInjectionPlan, generateActiveAdapterSource, generateBootstrapRuntimeSource, generateCocosExtensionBuilderSource, generateCocosExtensionHooksSource, generateCocosExtensionMainSource, generateCocosExtensionPackageJson, generateCurrentPlatformConfigSource, generateRuntimeBindingSource, resolveBuildPlatformSelection, } from './platform-select.ts'; export function prepareGeneratedArtifacts(options: { extensionName?: string; targetPlatform: RewardedAdTargetPlatform; config: RewardedAdsConfig; }) { const selection = resolveBuildPlatformSelection({ targetPlatform: options.targetPlatform, config: options.config, }); return { selection, activeAdapterSource: generateActiveAdapterSource(selection.packageName), generatedConfigSource: generateCurrentPlatformConfigSource({ targetPlatform: options.targetPlatform, config: options.config, }), runtimeBindingSource: generateRuntimeBindingSource({ packageName: selection.packageName, configModulePath: './generated-rewarded-config.ts', }), bootstrapRuntimeSource: generateBootstrapRuntimeSource(), nativeInjectionPlan: options.targetPlatform === 'android' || options.targetPlatform === 'ios' ? createNativeProviderInjectionPlan({ targetPlatform: options.targetPlatform, provider: selection.provider as 'admob' | 'max' | 'topon', }) : null, extensionPackageJson: generateCocosExtensionPackageJson({ extensionName: options.extensionName ?? 'cocos-rewarded-ads-build', }), extensionMainSource: generateCocosExtensionMainSource(), extensionBuilderSource: generateCocosExtensionBuilderSource(), extensionHooksSource: generateCocosExtensionHooksSource({ extensionName: options.extensionName ?? 'cocos-rewarded-ads-build', }), }; }