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:
Родитель
40667a8147
Коммит
ea1e8bbd34
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
||||
/**
|
||||
|
|
Загрузка…
Ссылка в новой задаче