Skip to content

Commit b6b8106

Browse files
author
Chris Thompson
committed
iOS: Update export signatures
1 parent 16cd9b1 commit b6b8106

3 files changed

Lines changed: 24 additions & 29 deletions

File tree

ios/RCTCrypto/RCTSha.m

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,25 @@ @implementation RCTSha
55

66
RCT_EXPORT_MODULE()
77

8-
RCT_EXPORT_METHOD(sha1:(NSString *)text
8+
RCT_EXPORT_METHOD(shaBase64:(NSString *)text :(NSString *)algorithm
99
resolver:(RCTPromiseResolveBlock)resolve
1010
rejecter:(RCTPromiseRejectBlock)reject) {
1111
NSError *error = nil;
12-
NSString *data = [Sha sha1:text];
12+
NSString *data = [Sha shaBase64:text :algorithm];
1313
if (data == nil) {
14-
reject(@"sha1_fail", @"Hash error", error);
14+
reject(@"shaBase64_fail", @"Hash error", error);
1515
} else {
1616
resolve(data);
1717
}
1818
}
1919

20-
RCT_EXPORT_METHOD(sha256:(NSString *)text
20+
RCT_EXPORT_METHOD(shaUtf8:(NSString *)text :(NSString *)algorithm
2121
resolver:(RCTPromiseResolveBlock)resolve
2222
rejecter:(RCTPromiseRejectBlock)reject) {
2323
NSError *error = nil;
24-
NSString *data = [Sha sha256:text];
24+
NSString *data = [Sha shaUtf8:text :algorithm];
2525
if (data == nil) {
26-
reject(@"sha256_fail", @"Hash error", error);
27-
} else {
28-
resolve(data);
29-
}
30-
}
31-
32-
RCT_EXPORT_METHOD(sha512:(NSString *)text
33-
resolver:(RCTPromiseResolveBlock)resolve
34-
rejecter:(RCTPromiseRejectBlock)reject) {
35-
NSError *error = nil;
36-
NSString *data = [Sha sha512:text];
37-
if (data == nil) {
38-
reject(@"sha512_fail", @"Hash error", error);
26+
reject(@"shaUtf8_fail", @"Hash error", error);
3927
} else {
4028
resolve(data);
4129
}

ios/RCTCrypto/RNRandomBytes.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
#import <Foundation/Foundation.h>
1010
#if __has_include(<React/RCTBridgeModule.h>)
1111
#import <React/RCTBridgeModule.h>
12-
#elif __has_include(RCTBridgeModule.h)
13-
#import RCTBridgeModule.h
12+
#elif __has_include("RCTBridgeModule.h")
13+
#import "RCTBridgeModule.h"
1414
#else
15-
#import React/RCTBridgeModule.h // Required when used as a Pod in a Swift project
15+
#import "React/RCTBridgeModule.h" // Required when used as a Pod in a Swift project
1616
#endif
1717

1818

ios/RCTCrypto/RNRandomBytes.m

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
#import "RNRandomBytes.h"
1010
#if __has_include(<React/RCTBridgeModule.h>)
1111
#import <React/RCTBridgeModule.h>
12-
#elif __has_include(RCTBridgeModule.h)
13-
#import RCTBridgeModule.h
12+
#elif __has_include("RCTBridgeModule.h")
13+
#import "RCTBridgeModule.h"
1414
#else
15-
#import React/RCTBridgeModule.h // Required when used as a Pod in a Swift project
15+
#import "React/RCTBridgeModule.h" // Required when used as a Pod in a Swift project
1616
#endif
1717

1818
@implementation RNRandomBytes
@@ -22,22 +22,29 @@ @implementation RNRandomBytes
2222
@synthesize bridge = _bridge;
2323

2424
RCT_EXPORT_METHOD(randomBytes:(NSUInteger)length
25-
callback:(RCTResponseSenderBlock)callback)
25+
resolver:(RCTPromiseResolveBlock)resolve
26+
rejecter:(RCTPromiseRejectBlock)reject)
2627
{
27-
callback(@[[NSNull null], [self randomBytes:length]]);
28+
NSError *error = nil;
29+
NSString *base64 = [RNRandomBytes randomBytes:length];
30+
if (base64 == nil) {
31+
reject(@"random_bytes failed", @"Random bytes error", error);
32+
} else {
33+
resolve(base64);
34+
}
2835
}
2936

30-
- (NSString *) randomBytes:(NSUInteger)length
37+
+ (NSString *) randomBytes:(NSUInteger)length
3138
{
3239
NSMutableData* bytes = [NSMutableData dataWithLength:length];
3340
SecRandomCopyBytes(kSecRandomDefault, length, [bytes mutableBytes]);
3441
return [bytes base64EncodedStringWithOptions:0];
3542
}
3643

37-
- (NSDictionary *)constantsToExport
44+
+ (NSDictionary *)constantsToExport
3845
{
3946
return @{
40-
@"seed": [self randomBytes:4096]
47+
@"seed": [RNRandomBytes randomBytes:4096]
4148
};
4249
};
4350

0 commit comments

Comments
 (0)