import type { ExportedConfig } from '@expo/config-plugins'; const { withAppDelegate } = require('@expo/config-plugins'); module.exports = function withYandexMaps( config: ExportedConfig, options?: Record ) { return withAppDelegate(config, async (config: any) => { const appDelegate = config.modResults; // Add import if ( !appDelegate.contents.includes( '#import ' ) ) { // Replace the first line with the intercom import appDelegate.contents = appDelegate.contents.replace( /#import "AppDelegate.h"/g, `#import "AppDelegate.h"\n#import ` ); } const mapKitMethodInvocations = [ `[YMKMapKit setApiKey:@"${options?.mapKitApiKey}"];`, `[YMKMapKit setLocale:@"ru_RU"];`, `[YMKMapKit mapKit];`, ] .map((line) => `\t${line}`) .join('\n'); // Add invocation if (!appDelegate.contents.includes(mapKitMethodInvocations)) { appDelegate.contents = appDelegate.contents.replace( 'return [super application:application didFinishLaunchingWithOptions:launchOptions];', `\n\n${mapKitMethodInvocations}\n\n\treturn [super application:application didFinishLaunchingWithOptions:launchOptions];` ); } return config; }); };