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);
|
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)
|
NativeImageLoaderSpecJSI::NativeImageLoaderSpecJSI(id<RCTTurboModule> instance, std::shared_ptr<CallInvoker> jsInvoker)
|
||||||
: ObjCTurboModule("ImageLoader", instance, jsInvoker) {
|
: ObjCTurboModule("ImageLoader", instance, jsInvoker) {
|
||||||
|
@ -1194,6 +1198,9 @@ namespace facebook {
|
||||||
methodMap_["prefetchImage"] = MethodMetadata {1, __hostFunction_NativeImageLoaderSpecJSI_prefetchImage};
|
methodMap_["prefetchImage"] = MethodMetadata {1, __hostFunction_NativeImageLoaderSpecJSI_prefetchImage};
|
||||||
|
|
||||||
|
|
||||||
|
methodMap_["queryCache"] = MethodMetadata {1, __hostFunction_NativeImageLoaderSpecJSI_queryCache};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1156,6 +1156,9 @@ namespace JS {
|
||||||
- (void)prefetchImage:(NSString *)uri
|
- (void)prefetchImage:(NSString *)uri
|
||||||
resolve:(RCTPromiseResolveBlock)resolve
|
resolve:(RCTPromiseResolveBlock)resolve
|
||||||
reject:(RCTPromiseRejectBlock)reject;
|
reject:(RCTPromiseRejectBlock)reject;
|
||||||
|
- (void)queryCache:(NSArray *)uris
|
||||||
|
resolve:(RCTPromiseResolveBlock)resolve
|
||||||
|
reject:(RCTPromiseRejectBlock)reject;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
namespace facebook {
|
namespace facebook {
|
||||||
|
|
|
@ -22,6 +22,9 @@ export interface Spec extends TurboModule {
|
||||||
headers: {[string]: string},
|
headers: {[string]: string},
|
||||||
) => Promise<$ReadOnly<{width: number, height: number}>>;
|
) => Promise<$ReadOnly<{width: number, height: number}>>;
|
||||||
+prefetchImage: (uri: string) => Promise<boolean>;
|
+prefetchImage: (uri: string) => Promise<boolean>;
|
||||||
|
+queryCache: (
|
||||||
|
uris: Array<string>,
|
||||||
|
) => Promise<{[string]: 'memory' | 'disk' | 'disk/memory'}>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default (TurboModuleRegistry.getEnforcing<Spec>('ImageLoader'): Spec);
|
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
|
@end
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Загрузка…
Ссылка в новой задаче