Add queryCache to ImageLoader native module

Summary:
[iOS] [Added] - Add definition for `queryCache` in ImageLoader

This diff is related to moving RCTImageViewManager's commands to a native module, ImageLoader.

Reviewed By: zackargyle, TheSavior

Differential Revision: D17714521

fbshipit-source-id: 722cc17a2ebb03e72d7c080dfc4d0aa6d7440e85
This commit is contained in:
Luna Wei
2019-10-02 14:05:12 -07:00
committed by Facebook Github Bot
parent 40667a8147
commit ea1e8bbd34
4 changed files with 19 additions and 0 deletions
@@ -1180,6 +1180,10 @@ namespace facebook {
return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "prefetchImage", @selector(prefetchImage:resolve:reject:), args, count);
}
static facebook::jsi::Value __hostFunction_NativeImageLoaderSpecJSI_queryCache(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "queryCache", @selector(queryCache:resolve:reject:), args, count);
}
NativeImageLoaderSpecJSI::NativeImageLoaderSpecJSI(id<RCTTurboModule> instance, std::shared_ptr<CallInvoker> jsInvoker)
: ObjCTurboModule("ImageLoader", instance, jsInvoker) {
@@ -1194,6 +1198,9 @@ namespace facebook {
methodMap_["prefetchImage"] = MethodMetadata {1, __hostFunction_NativeImageLoaderSpecJSI_prefetchImage};
methodMap_["queryCache"] = MethodMetadata {1, __hostFunction_NativeImageLoaderSpecJSI_queryCache};
}
@@ -1156,6 +1156,9 @@ namespace JS {
- (void)prefetchImage:(NSString *)uri
resolve:(RCTPromiseResolveBlock)resolve
reject:(RCTPromiseRejectBlock)reject;
- (void)queryCache:(NSArray *)uris
resolve:(RCTPromiseResolveBlock)resolve
reject:(RCTPromiseRejectBlock)reject;
@end
namespace facebook {
+3
View File
@@ -22,6 +22,9 @@ export interface Spec extends TurboModule {
headers: {[string]: string},
) => Promise<$ReadOnly<{width: number, height: number}>>;
+prefetchImage: (uri: string) => Promise<boolean>;
+queryCache: (
uris: Array<string>,
) => Promise<{[string]: 'memory' | 'disk' | 'disk/memory'}>;
}
export default (TurboModuleRegistry.getEnforcing<Spec>('ImageLoader'): Spec);
+6
View File
@@ -996,6 +996,12 @@ RCT_EXPORT_METHOD(prefetchImage:(NSString *)uri
}];
}
RCT_EXPORT_METHOD(queryCache:(NSArray *)uris
resolve:(RCTPromiseResolveBlock)resolve
reject:(RCTPromiseRejectBlock)reject)
{
resolve([self getImageCacheStatus:uris]);
}
@end
/**