Gazebo_simulation-Frontend/node_modules/react-native-securerandom/ios/RNSecureRandom.m
2020-12-21 10:29:31 -05:00

32 lines
871 B
Objective-C

#import <Foundation/Foundation.h>
#import "RNSecureRandom.h"
#import <React/RCTUtils.h>
#import <React/RCTLog.h>
@implementation RNSecureRandom
RCT_EXPORT_MODULE();
+ (BOOL)requiresMainQueueSetup
{
return NO;
}
RCT_REMAP_METHOD(generateSecureRandomAsBase64,
withLength:(int)length
resolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
{
NSMutableData* bytes = [NSMutableData dataWithLength:length];
int result = SecRandomCopyBytes(kSecRandomDefault,length, [bytes mutableBytes]);
if (result == errSecSuccess) {
resolve([bytes base64EncodedStringWithOptions:0]);
} else {
NSError *error = [NSError errorWithDomain:@"RNSecureRandom" code:result userInfo: nil];
reject(@"randombytes_error", @"Error generating random bytes", error);
}
}
@end