react-native-bootsplash 6.3.2 → 6.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -6
- package/RNBootSplash.podspec +3 -1
- package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeRNBootSplashSpec.java +78 -0
- package/android/app/build/generated/source/codegen/jni/CMakeLists.txt +36 -0
- package/android/app/build/generated/source/codegen/jni/RNBootSplashSpec-generated.cpp +44 -0
- package/android/app/build/generated/source/codegen/jni/RNBootSplashSpec.h +31 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNBootSplashSpec/RNBootSplashSpecJSI-generated.cpp +39 -0
- package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNBootSplashSpec/RNBootSplashSpecJSI.h +85 -0
- package/dist/commonjs/addon/index.js +31 -31
- package/dist/commonjs/expo.js +12 -6
- package/dist/commonjs/expo.js.map +1 -1
- package/dist/module/addon/index.js +31 -31
- package/dist/module/expo.js +12 -6
- package/dist/module/expo.js.map +1 -1
- package/dist/typescript/expo.d.ts.map +1 -1
- package/dist/typescript/generate.d.ts +1 -1
- package/ios/RNBootSplash.h +0 -0
- package/ios/RNBootSplash.mm +0 -0
- package/ios/RNBootSplash.xcodeproj/project.pbxproj +0 -0
- package/ios/RNBootSplash.xcodeproj/project.xcworkspace/xcuserdata/zoontek.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/RNBootSplash.xcodeproj/xcuserdata/zoontek.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- package/package.json +10 -11
- package/src/expo.ts +15 -6
- package/ios/RNBootSplash.xcodeproj/xcshareddata/xcschemes/RNBootSplash.xcscheme +0 -80
package/README.md
CHANGED
|
@@ -187,13 +187,35 @@ type PluginOptions = {
|
|
|
187
187
|
|
|
188
188
|
### With bare React Native
|
|
189
189
|
|
|
190
|
-
#### iOS
|
|
190
|
+
#### iOS (react-native 0.77+)
|
|
191
191
|
|
|
192
|
-
Edit
|
|
192
|
+
Edit your `ios/YourApp/AppDelegate.swift` file:
|
|
193
|
+
|
|
194
|
+
```swift
|
|
195
|
+
import ReactAppDependencyProvider
|
|
196
|
+
import RNBootSplash // ⬅️ add this import
|
|
197
|
+
|
|
198
|
+
// …
|
|
199
|
+
|
|
200
|
+
@main
|
|
201
|
+
class AppDelegate: RCTAppDelegate {
|
|
202
|
+
// …
|
|
203
|
+
|
|
204
|
+
// ⬇️ override this method
|
|
205
|
+
override func customize(_ rootView: RCTRootView!) {
|
|
206
|
+
super.customize(rootView)
|
|
207
|
+
RNBootSplash.initWithStoryboard("BootSplash", rootView: rootView) // ⬅️ initialize the splash screen
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
#### iOS (react-native < 0.77)
|
|
213
|
+
|
|
214
|
+
Edit your `ios/YourApp/AppDelegate.mm` file:
|
|
193
215
|
|
|
194
216
|
```obj-c
|
|
195
217
|
#import "AppDelegate.h"
|
|
196
|
-
#import "RNBootSplash.h" // ⬅️ add
|
|
218
|
+
#import "RNBootSplash.h" // ⬅️ add this import
|
|
197
219
|
|
|
198
220
|
// …
|
|
199
221
|
|
|
@@ -201,7 +223,7 @@ Edit the `ios/YourApp/AppDelegate.mm` file:
|
|
|
201
223
|
|
|
202
224
|
// …
|
|
203
225
|
|
|
204
|
-
// ⬇️ Add this before file @end (for react-native 0.74+)
|
|
226
|
+
// ⬇️ Add this method before file @end (for react-native 0.74+)
|
|
205
227
|
- (void)customizeRootView:(RCTRootView *)rootView {
|
|
206
228
|
[super customizeRootView:rootView];
|
|
207
229
|
[RNBootSplash initWithStoryboard:@"BootSplash" rootView:rootView]; // ⬅️ initialize the splash screen
|
|
@@ -209,7 +231,7 @@ Edit the `ios/YourApp/AppDelegate.mm` file:
|
|
|
209
231
|
|
|
210
232
|
// OR
|
|
211
233
|
|
|
212
|
-
// ⬇️ Add this before file @end (for react-native < 0.74)
|
|
234
|
+
// ⬇️ Add this method before file @end (for react-native < 0.74)
|
|
213
235
|
- (UIView *)createRootViewWithBridge:(RCTBridge *)bridge
|
|
214
236
|
moduleName:(NSString *)moduleName
|
|
215
237
|
initProps:(NSDictionary *)initProps {
|
|
@@ -426,7 +448,7 @@ Edit your `values/styles.xml` file to inherit from `Theme.BootSplash.Transparent
|
|
|
426
448
|
<!-- … -->
|
|
427
449
|
|
|
428
450
|
<!-- make BootTheme inherit from Theme.BootSplash.TransparentStatus / Theme.BootSplash.EdgeToEdge -->
|
|
429
|
-
<style name="BootTheme" parent="Theme.EdgeToEdge">
|
|
451
|
+
<style name="BootTheme" parent="Theme.BootSplash.EdgeToEdge">
|
|
430
452
|
<!-- … -->
|
|
431
453
|
|
|
432
454
|
<!-- optional, used to enforce the initial bars styles -->
|
package/RNBootSplash.podspec
CHANGED
|
@@ -17,9 +17,11 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
s.source = { :git => package["repository"]["url"], :tag => s.version }
|
|
18
18
|
s.source_files = "ios/**/*.{h,m,mm}"
|
|
19
19
|
|
|
20
|
+
s.pod_target_xcconfig = { "DEFINES_MODULE" => "YES" }
|
|
21
|
+
|
|
20
22
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
|
21
23
|
install_modules_dependencies(s)
|
|
22
24
|
else
|
|
23
|
-
s.dependency
|
|
25
|
+
s.dependency "React-Core"
|
|
24
26
|
end
|
|
25
27
|
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
4
|
+
*
|
|
5
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
6
|
+
* once the code is regenerated.
|
|
7
|
+
*
|
|
8
|
+
* @generated by codegen project: GenerateModuleJavaSpec.js
|
|
9
|
+
*
|
|
10
|
+
* @nolint
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
package com.facebook.fbreact.specs;
|
|
14
|
+
|
|
15
|
+
import com.facebook.proguard.annotations.DoNotStrip;
|
|
16
|
+
import com.facebook.react.bridge.Promise;
|
|
17
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
|
+
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
+
import com.facebook.react.common.build.ReactBuildConfig;
|
|
21
|
+
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
22
|
+
import java.util.Arrays;
|
|
23
|
+
import java.util.HashSet;
|
|
24
|
+
import java.util.Map;
|
|
25
|
+
import java.util.Set;
|
|
26
|
+
import javax.annotation.Nonnull;
|
|
27
|
+
import javax.annotation.Nullable;
|
|
28
|
+
|
|
29
|
+
public abstract class NativeRNBootSplashSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
30
|
+
public static final String NAME = "RNBootSplash";
|
|
31
|
+
|
|
32
|
+
public NativeRNBootSplashSpec(ReactApplicationContext reactContext) {
|
|
33
|
+
super(reactContext);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@Override
|
|
37
|
+
public @Nonnull String getName() {
|
|
38
|
+
return NAME;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
protected abstract Map<String, Object> getTypedExportedConstants();
|
|
42
|
+
|
|
43
|
+
@Override
|
|
44
|
+
@DoNotStrip
|
|
45
|
+
public final @Nullable Map<String, Object> getConstants() {
|
|
46
|
+
Map<String, Object> constants = getTypedExportedConstants();
|
|
47
|
+
if (ReactBuildConfig.DEBUG || ReactBuildConfig.IS_INTERNAL_BUILD) {
|
|
48
|
+
Set<String> obligatoryFlowConstants = new HashSet<>(Arrays.asList(
|
|
49
|
+
"darkModeEnabled"
|
|
50
|
+
));
|
|
51
|
+
Set<String> optionalFlowConstants = new HashSet<>(Arrays.asList(
|
|
52
|
+
"logoSizeRatio",
|
|
53
|
+
"navigationBarHeight",
|
|
54
|
+
"statusBarHeight"
|
|
55
|
+
));
|
|
56
|
+
Set<String> undeclaredConstants = new HashSet<>(constants.keySet());
|
|
57
|
+
undeclaredConstants.removeAll(obligatoryFlowConstants);
|
|
58
|
+
undeclaredConstants.removeAll(optionalFlowConstants);
|
|
59
|
+
if (!undeclaredConstants.isEmpty()) {
|
|
60
|
+
throw new IllegalStateException(String.format("Native Module Flow doesn't declare constants: %s", undeclaredConstants));
|
|
61
|
+
}
|
|
62
|
+
undeclaredConstants = obligatoryFlowConstants;
|
|
63
|
+
undeclaredConstants.removeAll(constants.keySet());
|
|
64
|
+
if (!undeclaredConstants.isEmpty()) {
|
|
65
|
+
throw new IllegalStateException(String.format("Native Module doesn't fill in constants: %s", undeclaredConstants));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return constants;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@ReactMethod
|
|
72
|
+
@DoNotStrip
|
|
73
|
+
public abstract void hide(boolean fade, Promise promise);
|
|
74
|
+
|
|
75
|
+
@ReactMethod
|
|
76
|
+
@DoNotStrip
|
|
77
|
+
public abstract void isVisible(Promise promise);
|
|
78
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
#
|
|
3
|
+
# This source code is licensed under the MIT license found in the
|
|
4
|
+
# LICENSE file in the root directory of this source tree.
|
|
5
|
+
|
|
6
|
+
cmake_minimum_required(VERSION 3.13)
|
|
7
|
+
set(CMAKE_VERBOSE_MAKEFILE on)
|
|
8
|
+
|
|
9
|
+
file(GLOB react_codegen_SRCS CONFIGURE_DEPENDS *.cpp react/renderer/components/RNBootSplashSpec/*.cpp)
|
|
10
|
+
|
|
11
|
+
add_library(
|
|
12
|
+
react_codegen_RNBootSplashSpec
|
|
13
|
+
OBJECT
|
|
14
|
+
${react_codegen_SRCS}
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
target_include_directories(react_codegen_RNBootSplashSpec PUBLIC . react/renderer/components/RNBootSplashSpec)
|
|
18
|
+
|
|
19
|
+
target_link_libraries(
|
|
20
|
+
react_codegen_RNBootSplashSpec
|
|
21
|
+
fbjni
|
|
22
|
+
jsi
|
|
23
|
+
# We need to link different libraries based on whether we are building rncore or not, that's necessary
|
|
24
|
+
# because we want to break a circular dependency between react_codegen_rncore and reactnative
|
|
25
|
+
reactnative
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
target_compile_options(
|
|
29
|
+
react_codegen_RNBootSplashSpec
|
|
30
|
+
PRIVATE
|
|
31
|
+
-DLOG_TAG=\"ReactNative\"
|
|
32
|
+
-fexceptions
|
|
33
|
+
-frtti
|
|
34
|
+
-std=c++20
|
|
35
|
+
-Wall
|
|
36
|
+
)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
4
|
+
*
|
|
5
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
6
|
+
* once the code is regenerated.
|
|
7
|
+
*
|
|
8
|
+
* @generated by codegen project: GenerateModuleJniCpp.js
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#include "RNBootSplashSpec.h"
|
|
12
|
+
|
|
13
|
+
namespace facebook::react {
|
|
14
|
+
|
|
15
|
+
static facebook::jsi::Value __hostFunction_NativeRNBootSplashSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
|
16
|
+
static jmethodID cachedMethodId = nullptr;
|
|
17
|
+
return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, ObjectKind, "getConstants", "()Ljava/util/Map;", args, count, cachedMethodId);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static facebook::jsi::Value __hostFunction_NativeRNBootSplashSpecJSI_hide(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
|
21
|
+
static jmethodID cachedMethodId = nullptr;
|
|
22
|
+
return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "hide", "(ZLcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
static facebook::jsi::Value __hostFunction_NativeRNBootSplashSpecJSI_isVisible(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
|
26
|
+
static jmethodID cachedMethodId = nullptr;
|
|
27
|
+
return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "isVisible", "(Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
NativeRNBootSplashSpecJSI::NativeRNBootSplashSpecJSI(const JavaTurboModule::InitParams ¶ms)
|
|
31
|
+
: JavaTurboModule(params) {
|
|
32
|
+
methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeRNBootSplashSpecJSI_getConstants};
|
|
33
|
+
methodMap_["hide"] = MethodMetadata {1, __hostFunction_NativeRNBootSplashSpecJSI_hide};
|
|
34
|
+
methodMap_["isVisible"] = MethodMetadata {0, __hostFunction_NativeRNBootSplashSpecJSI_isVisible};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
std::shared_ptr<TurboModule> RNBootSplashSpec_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams ¶ms) {
|
|
38
|
+
if (moduleName == "RNBootSplash") {
|
|
39
|
+
return std::make_shared<NativeRNBootSplashSpecJSI>(params);
|
|
40
|
+
}
|
|
41
|
+
return nullptr;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
4
|
+
*
|
|
5
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
6
|
+
* once the code is regenerated.
|
|
7
|
+
*
|
|
8
|
+
* @generated by codegen project: GenerateModuleJniH.js
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#pragma once
|
|
12
|
+
|
|
13
|
+
#include <ReactCommon/JavaTurboModule.h>
|
|
14
|
+
#include <ReactCommon/TurboModule.h>
|
|
15
|
+
#include <jsi/jsi.h>
|
|
16
|
+
|
|
17
|
+
namespace facebook::react {
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* JNI C++ class for module 'NativeRNBootSplash'
|
|
21
|
+
*/
|
|
22
|
+
class JSI_EXPORT NativeRNBootSplashSpecJSI : public JavaTurboModule {
|
|
23
|
+
public:
|
|
24
|
+
NativeRNBootSplashSpecJSI(const JavaTurboModule::InitParams ¶ms);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
JSI_EXPORT
|
|
29
|
+
std::shared_ptr<TurboModule> RNBootSplashSpec_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams ¶ms);
|
|
30
|
+
|
|
31
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GenerateModuleCpp.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#include "RNBootSplashSpecJSI.h"
|
|
11
|
+
|
|
12
|
+
namespace facebook::react {
|
|
13
|
+
|
|
14
|
+
static jsi::Value __hostFunction_NativeRNBootSplashCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
15
|
+
return static_cast<NativeRNBootSplashCxxSpecJSI *>(&turboModule)->getConstants(
|
|
16
|
+
rt
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
static jsi::Value __hostFunction_NativeRNBootSplashCxxSpecJSI_hide(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
20
|
+
return static_cast<NativeRNBootSplashCxxSpecJSI *>(&turboModule)->hide(
|
|
21
|
+
rt,
|
|
22
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asBool()
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
static jsi::Value __hostFunction_NativeRNBootSplashCxxSpecJSI_isVisible(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
26
|
+
return static_cast<NativeRNBootSplashCxxSpecJSI *>(&turboModule)->isVisible(
|
|
27
|
+
rt
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
NativeRNBootSplashCxxSpecJSI::NativeRNBootSplashCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker)
|
|
32
|
+
: TurboModule("RNBootSplash", jsInvoker) {
|
|
33
|
+
methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeRNBootSplashCxxSpecJSI_getConstants};
|
|
34
|
+
methodMap_["hide"] = MethodMetadata {1, __hostFunction_NativeRNBootSplashCxxSpecJSI_hide};
|
|
35
|
+
methodMap_["isVisible"] = MethodMetadata {0, __hostFunction_NativeRNBootSplashCxxSpecJSI_isVisible};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GenerateModuleH.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#pragma once
|
|
11
|
+
|
|
12
|
+
#include <ReactCommon/TurboModule.h>
|
|
13
|
+
#include <react/bridging/Bridging.h>
|
|
14
|
+
|
|
15
|
+
namespace facebook::react {
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class JSI_EXPORT NativeRNBootSplashCxxSpecJSI : public TurboModule {
|
|
19
|
+
protected:
|
|
20
|
+
NativeRNBootSplashCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
|
|
21
|
+
|
|
22
|
+
public:
|
|
23
|
+
virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
|
|
24
|
+
virtual jsi::Value hide(jsi::Runtime &rt, bool fade) = 0;
|
|
25
|
+
virtual jsi::Value isVisible(jsi::Runtime &rt) = 0;
|
|
26
|
+
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
template <typename T>
|
|
30
|
+
class JSI_EXPORT NativeRNBootSplashCxxSpec : public TurboModule {
|
|
31
|
+
public:
|
|
32
|
+
jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
|
|
33
|
+
return delegate_.get(rt, propName);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static constexpr std::string_view kModuleName = "RNBootSplash";
|
|
37
|
+
|
|
38
|
+
protected:
|
|
39
|
+
NativeRNBootSplashCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
|
|
40
|
+
: TurboModule(std::string{NativeRNBootSplashCxxSpec::kModuleName}, jsInvoker),
|
|
41
|
+
delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
private:
|
|
45
|
+
class Delegate : public NativeRNBootSplashCxxSpecJSI {
|
|
46
|
+
public:
|
|
47
|
+
Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
|
|
48
|
+
NativeRNBootSplashCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
|
|
49
|
+
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
jsi::Object getConstants(jsi::Runtime &rt) override {
|
|
53
|
+
static_assert(
|
|
54
|
+
bridging::getParameterCount(&T::getConstants) == 1,
|
|
55
|
+
"Expected getConstants(...) to have 1 parameters");
|
|
56
|
+
|
|
57
|
+
return bridging::callFromJs<jsi::Object>(
|
|
58
|
+
rt, &T::getConstants, jsInvoker_, instance_);
|
|
59
|
+
}
|
|
60
|
+
jsi::Value hide(jsi::Runtime &rt, bool fade) override {
|
|
61
|
+
static_assert(
|
|
62
|
+
bridging::getParameterCount(&T::hide) == 2,
|
|
63
|
+
"Expected hide(...) to have 2 parameters");
|
|
64
|
+
|
|
65
|
+
return bridging::callFromJs<jsi::Value>(
|
|
66
|
+
rt, &T::hide, jsInvoker_, instance_, std::move(fade));
|
|
67
|
+
}
|
|
68
|
+
jsi::Value isVisible(jsi::Runtime &rt) override {
|
|
69
|
+
static_assert(
|
|
70
|
+
bridging::getParameterCount(&T::isVisible) == 1,
|
|
71
|
+
"Expected isVisible(...) to have 1 parameters");
|
|
72
|
+
|
|
73
|
+
return bridging::callFromJs<jsi::Value>(
|
|
74
|
+
rt, &T::isVisible, jsInvoker_, instance_);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
private:
|
|
78
|
+
friend class NativeRNBootSplashCxxSpec;
|
|
79
|
+
T *instance_;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
Delegate delegate_;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
} // namespace facebook::react
|