@adyen/react-native
Version:
Wraps Adyen Checkout Drop-In and Components for iOS and Android for convenient use with React Native
36 lines (35 loc) • 2.16 kB
text/typescript
export function setApplicationContinueUserActivity(contents: string): string {
if (
contents.includes(
'- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {'
)
) {
contents = contents.replace(
'- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {\n',
'- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {\n' +
' if ([[userActivity activityType] isEqualToString:NSUserActivityTypeBrowsingWeb]) {\n' +
' NSURL *url = [userActivity webpageURL];\n' +
' if (![url isEqual:[NSNull null]] && [ADYRedirectComponent applicationDidOpenURL:url]) {\n' +
' return YES;\n' +
' }\n' +
' }\n'
);
} else {
contents = contents.replace(
'@end',
'\n' +
'- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {\n' +
' if ([[userActivity activityType] isEqualToString:NSUserActivityTypeBrowsingWeb]) {\n' +
' NSURL *url = [userActivity webpageURL];\n' +
' if (![url isEqual:[NSNull null]] && [ADYRedirectComponent applicationDidOpenURL:url]) {\n' +
' return YES;\n' +
' }\n' +
' }\n' +
' BOOL result = [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler];\n' +
' return [super application:application continueUserActivity:userActivity restorationHandler:restorationHandler] || result;\n' +
'}\n' +
'@end'
);
}
return contents;
}