1// Copyright 2019-present 650 Industries. All rights reserved. 2 3#import <EXImageLoader/EXImageLoader.h> 4#import <React/RCTImageLoaderProtocol.h> 5 6@interface EXImageLoader () 7 8@property (weak, nonatomic) RCTBridge *bridge; 9 10@end 11 12@implementation EXImageLoader 13 14UM_REGISTER_MODULE(); 15 16+ (NSString *)moduleName 17{ 18 return @"EXImageLoader"; 19} 20 21+ (const NSArray<Protocol *> *)exportedInterfaces 22{ 23 return @[@protocol(EXImageLoaderInterface)]; 24} 25 26- (void)setBridge:(RCTBridge *)bridge 27{ 28 _bridge = bridge; 29} 30 31- (void)loadImageForURL:(NSURL *)imageURL 32 completionHandler:(EXImageLoaderCompletionBlock)completionHandler 33{ 34 [[_bridge moduleForName:@"ImageLoader" lazilyLoadIfNecessary:YES] loadImageWithURLRequest:[NSURLRequest requestWithURL:imageURL] 35 callback:^(NSError *error, UIImage *loadedImage) { 36 completionHandler(error, loadedImage); 37 }]; 38} 39 40@end 41