-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathRNIUtilitiesModule.ts
117 lines (91 loc) · 3.09 KB
/
RNIUtilitiesModule.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import { default as NativeRNIUtilitiesModule } from './NativeRNIUtilitiesModule';
import type { SharedNativeValueMap, SupportedNativeSharedValue } from './RNIUtilitiesModuleTypes';
// modules are lazily loaded, so "reading" it's value triggers
// the module to load in the native side.
NativeRNIUtilitiesModule;
const RNIUtilitiesModuleName = "RNIUtilitiesModule";
const RNIUtilitiesModuleRef = (global as any)[RNIUtilitiesModuleName];
export class RNIUtilitiesModule {
static async viewCommandRequest<T = Record<string, unknown>>(
viewID: string,
commandName: string,
commandArgs: Record<string, any>
): Promise<T> {
if(RNIUtilitiesModuleRef == null){
throw "RNIUtilitiesModule is null";
};
if(RNIUtilitiesModuleRef.viewCommandRequest == null){
throw "RNIUtilitiesModule.viewCommandRequest is null";
};
return await RNIUtilitiesModuleRef.viewCommandRequest(
viewID,
commandName,
commandArgs
);
};
static async moduleCommandRequest<T = Record<string, unknown>>(
moduleName: string,
commandName: string,
commandArgs: Record<string, any>
): Promise<T> {
if(RNIUtilitiesModuleRef == null){
throw "RNIUtilitiesModule is null";
};
if(RNIUtilitiesModuleRef.moduleCommandRequest == null){
throw "RNIUtilitiesModule.moduleCommandRequest is null";
};
return await RNIUtilitiesModuleRef.moduleCommandRequest(
moduleName,
commandName,
commandArgs
);
};
static getModuleSharedValue<T = SupportedNativeSharedValue>(
moduleName: string,
key: string,
): T {
if(RNIUtilitiesModuleRef == null){
throw "RNIUtilitiesModule is null";
};
if(RNIUtilitiesModuleRef.getModuleSharedValue == null){
throw "RNIUtilitiesModule.getModuleSharedValue is null";
};
return RNIUtilitiesModuleRef.getModuleSharedValue(moduleName, key);
};
static setModuleSharedValue(
moduleName: string,
key: string,
newValue: SupportedNativeSharedValue
){
if(RNIUtilitiesModuleRef == null){
throw "RNIUtilitiesModule is null";
};
if(RNIUtilitiesModuleRef.getModuleSharedValue == null){
throw "RNIUtilitiesModule.setModuleSharedValue is null";
};
return RNIUtilitiesModuleRef.setModuleSharedValue(moduleName, key, newValue);
};
static getAllModuleSharedValues(
moduleName: string
): SharedNativeValueMap {
if(RNIUtilitiesModuleRef == null){
throw "RNIUtilitiesModule is null";
};
if(RNIUtilitiesModuleRef.getAllModuleSharedValues == null){
throw "RNIUtilitiesModule.getAllModuleSharedValues is null";
};
return RNIUtilitiesModuleRef.getAllModuleSharedValues(moduleName);
};
static overwriteModuleSharedValues(
moduleName: string,
newValues: SharedNativeValueMap
){
if(RNIUtilitiesModuleRef == null){
throw "RNIUtilitiesModule is null";
};
if(RNIUtilitiesModuleRef.overwriteModuleSharedValues == null){
throw "RNIUtilitiesModule.overwriteModuleSharedValues is null";
};
return RNIUtilitiesModuleRef.overwriteModuleSharedValues(moduleName, newValues);
};
};