react-native-mapsforge-vtm-ext-grib 0.2.0
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/LICENSE +21 -0
- package/README.md +118 -0
- package/android/CMakeLists.txt +13 -0
- package/android/build.gradle +108 -0
- package/android/generated/java/com/jhotadhari/reactnative/mapsforge/vtm/ext/grib/NativeWeatherOverlaySpec.java +95 -0
- package/android/generated/jni/CMakeLists.txt +28 -0
- package/android/generated/jni/RNMapsforgeVtmExtGribSpec-generated.cpp +62 -0
- package/android/generated/jni/RNMapsforgeVtmExtGribSpec.h +31 -0
- package/android/generated/jni/react/renderer/components/RNMapsforgeVtmExtGribSpec/RNMapsforgeVtmExtGribSpecJSI.h +521 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/AndroidManifestNew.xml +2 -0
- package/android/src/main/java/com/jhotadhari/reactnative/mapsforge/vtm/ext/grib/ExtGribPackage.java +62 -0
- package/android/src/main/java/com/jhotadhari/reactnative/mapsforge/vtm/ext/grib/modules/WeatherOverlay.java +343 -0
- package/android/src/main/java/com/jhotadhari/reactnative/mapsforge/vtm/ext/grib/tiles/ColorRamp.java +165 -0
- package/android/src/main/java/com/jhotadhari/reactnative/mapsforge/vtm/ext/grib/tiles/WeatherGridData.java +103 -0
- package/android/src/main/java/com/jhotadhari/reactnative/mapsforge/vtm/ext/grib/tiles/WeatherTileDataSource.java +147 -0
- package/android/src/main/java/com/jhotadhari/reactnative/mapsforge/vtm/ext/grib/tiles/WeatherTileSource.java +80 -0
- package/lib/commonjs/NativeModules/NativeWeatherOverlay.js +9 -0
- package/lib/commonjs/NativeModules/NativeWeatherOverlay.js.map +1 -0
- package/lib/commonjs/components/WeatherOverlay.js +180 -0
- package/lib/commonjs/components/WeatherOverlay.js.map +1 -0
- package/lib/commonjs/index.js +21 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/reanimated/index.js +13 -0
- package/lib/commonjs/reanimated/index.js.map +1 -0
- package/lib/commonjs/reanimated/useWeatherAnimation.js +86 -0
- package/lib/commonjs/reanimated/useWeatherAnimation.js.map +1 -0
- package/lib/commonjs/reportNativeError.js +14 -0
- package/lib/commonjs/reportNativeError.js.map +1 -0
- package/lib/commonjs/types.js +2 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/module/NativeModules/NativeWeatherOverlay.js +5 -0
- package/lib/module/NativeModules/NativeWeatherOverlay.js.map +1 -0
- package/lib/module/components/WeatherOverlay.js +174 -0
- package/lib/module/components/WeatherOverlay.js.map +1 -0
- package/lib/module/index.js +16 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/reanimated/index.js +4 -0
- package/lib/module/reanimated/index.js.map +1 -0
- package/lib/module/reanimated/useWeatherAnimation.js +81 -0
- package/lib/module/reanimated/useWeatherAnimation.js.map +1 -0
- package/lib/module/reportNativeError.js +10 -0
- package/lib/module/reportNativeError.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/src/NativeModules/NativeWeatherOverlay.d.ts +63 -0
- package/lib/typescript/commonjs/src/NativeModules/NativeWeatherOverlay.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/WeatherOverlay.d.ts +10 -0
- package/lib/typescript/commonjs/src/components/WeatherOverlay.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +11 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/reanimated/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/reanimated/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/reanimated/useWeatherAnimation.d.ts +44 -0
- package/lib/typescript/commonjs/src/reanimated/useWeatherAnimation.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/reportNativeError.d.ts +3 -0
- package/lib/typescript/commonjs/src/reportNativeError.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types.d.ts +51 -0
- package/lib/typescript/commonjs/src/types.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/src/NativeModules/NativeWeatherOverlay.d.ts +63 -0
- package/lib/typescript/module/src/NativeModules/NativeWeatherOverlay.d.ts.map +1 -0
- package/lib/typescript/module/src/components/WeatherOverlay.d.ts +10 -0
- package/lib/typescript/module/src/components/WeatherOverlay.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +11 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -0
- package/lib/typescript/module/src/reanimated/index.d.ts +3 -0
- package/lib/typescript/module/src/reanimated/index.d.ts.map +1 -0
- package/lib/typescript/module/src/reanimated/useWeatherAnimation.d.ts +44 -0
- package/lib/typescript/module/src/reanimated/useWeatherAnimation.d.ts.map +1 -0
- package/lib/typescript/module/src/reportNativeError.d.ts +3 -0
- package/lib/typescript/module/src/reportNativeError.d.ts.map +1 -0
- package/lib/typescript/module/src/types.d.ts +51 -0
- package/lib/typescript/module/src/types.d.ts.map +1 -0
- package/package.json +159 -0
- package/react-native.config.js +13 -0
- package/src/NativeModules/NativeWeatherOverlay.ts +73 -0
- package/src/components/WeatherOverlay.tsx +173 -0
- package/src/index.ts +22 -0
- package/src/reanimated/index.ts +2 -0
- package/src/reanimated/useWeatherAnimation.ts +118 -0
- package/src/reportNativeError.ts +15 -0
- package/src/types.ts +56 -0
|
@@ -0,0 +1,521 @@
|
|
|
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
|
+
#pragma mark - NativeWeatherOverlayCreateLayerParams
|
|
19
|
+
|
|
20
|
+
template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9>
|
|
21
|
+
struct NativeWeatherOverlayCreateLayerParams {
|
|
22
|
+
P0 dataUrl{};
|
|
23
|
+
P1 parameter{};
|
|
24
|
+
P2 timeIndex{};
|
|
25
|
+
P3 colorMap{};
|
|
26
|
+
P4 opacity{};
|
|
27
|
+
P5 zoomMin{};
|
|
28
|
+
P6 zoomMax{};
|
|
29
|
+
P7 enabledZoomMin{};
|
|
30
|
+
P8 enabledZoomMax{};
|
|
31
|
+
P9 nativeNodeHandle;
|
|
32
|
+
bool operator==(const NativeWeatherOverlayCreateLayerParams &other) const {
|
|
33
|
+
return dataUrl == other.dataUrl && parameter == other.parameter && timeIndex == other.timeIndex && colorMap == other.colorMap && opacity == other.opacity && zoomMin == other.zoomMin && zoomMax == other.zoomMax && enabledZoomMin == other.enabledZoomMin && enabledZoomMax == other.enabledZoomMax && nativeNodeHandle == other.nativeNodeHandle;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
template <typename T>
|
|
38
|
+
struct NativeWeatherOverlayCreateLayerParamsBridging {
|
|
39
|
+
static T types;
|
|
40
|
+
|
|
41
|
+
static T fromJs(
|
|
42
|
+
jsi::Runtime &rt,
|
|
43
|
+
const jsi::Object &value,
|
|
44
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
45
|
+
T result{
|
|
46
|
+
bridging::fromJs<decltype(types.dataUrl)>(rt, value.getProperty(rt, "dataUrl"), jsInvoker),
|
|
47
|
+
bridging::fromJs<decltype(types.parameter)>(rt, value.getProperty(rt, "parameter"), jsInvoker),
|
|
48
|
+
bridging::fromJs<decltype(types.timeIndex)>(rt, value.getProperty(rt, "timeIndex"), jsInvoker),
|
|
49
|
+
bridging::fromJs<decltype(types.colorMap)>(rt, value.getProperty(rt, "colorMap"), jsInvoker),
|
|
50
|
+
bridging::fromJs<decltype(types.opacity)>(rt, value.getProperty(rt, "opacity"), jsInvoker),
|
|
51
|
+
bridging::fromJs<decltype(types.zoomMin)>(rt, value.getProperty(rt, "zoomMin"), jsInvoker),
|
|
52
|
+
bridging::fromJs<decltype(types.zoomMax)>(rt, value.getProperty(rt, "zoomMax"), jsInvoker),
|
|
53
|
+
bridging::fromJs<decltype(types.enabledZoomMin)>(rt, value.getProperty(rt, "enabledZoomMin"), jsInvoker),
|
|
54
|
+
bridging::fromJs<decltype(types.enabledZoomMax)>(rt, value.getProperty(rt, "enabledZoomMax"), jsInvoker),
|
|
55
|
+
bridging::fromJs<decltype(types.nativeNodeHandle)>(rt, value.getProperty(rt, "nativeNodeHandle"), jsInvoker)};
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
#ifdef DEBUG
|
|
60
|
+
static jsi::String dataUrlToJs(jsi::Runtime &rt, decltype(types.dataUrl) value) {
|
|
61
|
+
return bridging::toJs(rt, value);
|
|
62
|
+
}
|
|
63
|
+
static jsi::String parameterToJs(jsi::Runtime &rt, decltype(types.parameter) value) {
|
|
64
|
+
return bridging::toJs(rt, value);
|
|
65
|
+
}
|
|
66
|
+
static int timeIndexToJs(jsi::Runtime &rt, decltype(types.timeIndex) value) {
|
|
67
|
+
return bridging::toJs(rt, value);
|
|
68
|
+
}
|
|
69
|
+
static jsi::String colorMapToJs(jsi::Runtime &rt, decltype(types.colorMap) value) {
|
|
70
|
+
return bridging::toJs(rt, value);
|
|
71
|
+
}
|
|
72
|
+
static double opacityToJs(jsi::Runtime &rt, decltype(types.opacity) value) {
|
|
73
|
+
return bridging::toJs(rt, value);
|
|
74
|
+
}
|
|
75
|
+
static int zoomMinToJs(jsi::Runtime &rt, decltype(types.zoomMin) value) {
|
|
76
|
+
return bridging::toJs(rt, value);
|
|
77
|
+
}
|
|
78
|
+
static int zoomMaxToJs(jsi::Runtime &rt, decltype(types.zoomMax) value) {
|
|
79
|
+
return bridging::toJs(rt, value);
|
|
80
|
+
}
|
|
81
|
+
static int enabledZoomMinToJs(jsi::Runtime &rt, decltype(types.enabledZoomMin) value) {
|
|
82
|
+
return bridging::toJs(rt, value);
|
|
83
|
+
}
|
|
84
|
+
static int enabledZoomMaxToJs(jsi::Runtime &rt, decltype(types.enabledZoomMax) value) {
|
|
85
|
+
return bridging::toJs(rt, value);
|
|
86
|
+
}
|
|
87
|
+
static int nativeNodeHandleToJs(jsi::Runtime &rt, decltype(types.nativeNodeHandle) value) {
|
|
88
|
+
return bridging::toJs(rt, value);
|
|
89
|
+
}
|
|
90
|
+
#endif
|
|
91
|
+
|
|
92
|
+
static jsi::Object toJs(
|
|
93
|
+
jsi::Runtime &rt,
|
|
94
|
+
const T &value,
|
|
95
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
96
|
+
auto result = facebook::jsi::Object(rt);
|
|
97
|
+
if (value.dataUrl) {
|
|
98
|
+
result.setProperty(rt, "dataUrl", bridging::toJs(rt, value.dataUrl.value(), jsInvoker));
|
|
99
|
+
}
|
|
100
|
+
if (value.parameter) {
|
|
101
|
+
result.setProperty(rt, "parameter", bridging::toJs(rt, value.parameter.value(), jsInvoker));
|
|
102
|
+
}
|
|
103
|
+
if (value.timeIndex) {
|
|
104
|
+
result.setProperty(rt, "timeIndex", bridging::toJs(rt, value.timeIndex.value(), jsInvoker));
|
|
105
|
+
}
|
|
106
|
+
if (value.colorMap) {
|
|
107
|
+
result.setProperty(rt, "colorMap", bridging::toJs(rt, value.colorMap.value(), jsInvoker));
|
|
108
|
+
}
|
|
109
|
+
if (value.opacity) {
|
|
110
|
+
result.setProperty(rt, "opacity", bridging::toJs(rt, value.opacity.value(), jsInvoker));
|
|
111
|
+
}
|
|
112
|
+
if (value.zoomMin) {
|
|
113
|
+
result.setProperty(rt, "zoomMin", bridging::toJs(rt, value.zoomMin.value(), jsInvoker));
|
|
114
|
+
}
|
|
115
|
+
if (value.zoomMax) {
|
|
116
|
+
result.setProperty(rt, "zoomMax", bridging::toJs(rt, value.zoomMax.value(), jsInvoker));
|
|
117
|
+
}
|
|
118
|
+
if (value.enabledZoomMin) {
|
|
119
|
+
result.setProperty(rt, "enabledZoomMin", bridging::toJs(rt, value.enabledZoomMin.value(), jsInvoker));
|
|
120
|
+
}
|
|
121
|
+
if (value.enabledZoomMax) {
|
|
122
|
+
result.setProperty(rt, "enabledZoomMax", bridging::toJs(rt, value.enabledZoomMax.value(), jsInvoker));
|
|
123
|
+
}
|
|
124
|
+
if (value.nativeNodeHandle) {
|
|
125
|
+
result.setProperty(rt, "nativeNodeHandle", bridging::toJs(rt, value.nativeNodeHandle.value(), jsInvoker));
|
|
126
|
+
}
|
|
127
|
+
return result;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
#pragma mark - NativeWeatherOverlayModuleParams
|
|
134
|
+
|
|
135
|
+
template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8>
|
|
136
|
+
struct NativeWeatherOverlayModuleParams {
|
|
137
|
+
P0 dataUrl{};
|
|
138
|
+
P1 parameter{};
|
|
139
|
+
P2 timeIndex{};
|
|
140
|
+
P3 colorMap{};
|
|
141
|
+
P4 opacity{};
|
|
142
|
+
P5 zoomMin{};
|
|
143
|
+
P6 zoomMax{};
|
|
144
|
+
P7 enabledZoomMin{};
|
|
145
|
+
P8 enabledZoomMax;
|
|
146
|
+
bool operator==(const NativeWeatherOverlayModuleParams &other) const {
|
|
147
|
+
return dataUrl == other.dataUrl && parameter == other.parameter && timeIndex == other.timeIndex && colorMap == other.colorMap && opacity == other.opacity && zoomMin == other.zoomMin && zoomMax == other.zoomMax && enabledZoomMin == other.enabledZoomMin && enabledZoomMax == other.enabledZoomMax;
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
template <typename T>
|
|
152
|
+
struct NativeWeatherOverlayModuleParamsBridging {
|
|
153
|
+
static T types;
|
|
154
|
+
|
|
155
|
+
static T fromJs(
|
|
156
|
+
jsi::Runtime &rt,
|
|
157
|
+
const jsi::Object &value,
|
|
158
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
159
|
+
T result{
|
|
160
|
+
bridging::fromJs<decltype(types.dataUrl)>(rt, value.getProperty(rt, "dataUrl"), jsInvoker),
|
|
161
|
+
bridging::fromJs<decltype(types.parameter)>(rt, value.getProperty(rt, "parameter"), jsInvoker),
|
|
162
|
+
bridging::fromJs<decltype(types.timeIndex)>(rt, value.getProperty(rt, "timeIndex"), jsInvoker),
|
|
163
|
+
bridging::fromJs<decltype(types.colorMap)>(rt, value.getProperty(rt, "colorMap"), jsInvoker),
|
|
164
|
+
bridging::fromJs<decltype(types.opacity)>(rt, value.getProperty(rt, "opacity"), jsInvoker),
|
|
165
|
+
bridging::fromJs<decltype(types.zoomMin)>(rt, value.getProperty(rt, "zoomMin"), jsInvoker),
|
|
166
|
+
bridging::fromJs<decltype(types.zoomMax)>(rt, value.getProperty(rt, "zoomMax"), jsInvoker),
|
|
167
|
+
bridging::fromJs<decltype(types.enabledZoomMin)>(rt, value.getProperty(rt, "enabledZoomMin"), jsInvoker),
|
|
168
|
+
bridging::fromJs<decltype(types.enabledZoomMax)>(rt, value.getProperty(rt, "enabledZoomMax"), jsInvoker)};
|
|
169
|
+
return result;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
#ifdef DEBUG
|
|
173
|
+
static jsi::String dataUrlToJs(jsi::Runtime &rt, decltype(types.dataUrl) value) {
|
|
174
|
+
return bridging::toJs(rt, value);
|
|
175
|
+
}
|
|
176
|
+
static jsi::String parameterToJs(jsi::Runtime &rt, decltype(types.parameter) value) {
|
|
177
|
+
return bridging::toJs(rt, value);
|
|
178
|
+
}
|
|
179
|
+
static int timeIndexToJs(jsi::Runtime &rt, decltype(types.timeIndex) value) {
|
|
180
|
+
return bridging::toJs(rt, value);
|
|
181
|
+
}
|
|
182
|
+
static jsi::String colorMapToJs(jsi::Runtime &rt, decltype(types.colorMap) value) {
|
|
183
|
+
return bridging::toJs(rt, value);
|
|
184
|
+
}
|
|
185
|
+
static double opacityToJs(jsi::Runtime &rt, decltype(types.opacity) value) {
|
|
186
|
+
return bridging::toJs(rt, value);
|
|
187
|
+
}
|
|
188
|
+
static int zoomMinToJs(jsi::Runtime &rt, decltype(types.zoomMin) value) {
|
|
189
|
+
return bridging::toJs(rt, value);
|
|
190
|
+
}
|
|
191
|
+
static int zoomMaxToJs(jsi::Runtime &rt, decltype(types.zoomMax) value) {
|
|
192
|
+
return bridging::toJs(rt, value);
|
|
193
|
+
}
|
|
194
|
+
static int enabledZoomMinToJs(jsi::Runtime &rt, decltype(types.enabledZoomMin) value) {
|
|
195
|
+
return bridging::toJs(rt, value);
|
|
196
|
+
}
|
|
197
|
+
static int enabledZoomMaxToJs(jsi::Runtime &rt, decltype(types.enabledZoomMax) value) {
|
|
198
|
+
return bridging::toJs(rt, value);
|
|
199
|
+
}
|
|
200
|
+
#endif
|
|
201
|
+
|
|
202
|
+
static jsi::Object toJs(
|
|
203
|
+
jsi::Runtime &rt,
|
|
204
|
+
const T &value,
|
|
205
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
206
|
+
auto result = facebook::jsi::Object(rt);
|
|
207
|
+
if (value.dataUrl) {
|
|
208
|
+
result.setProperty(rt, "dataUrl", bridging::toJs(rt, value.dataUrl.value(), jsInvoker));
|
|
209
|
+
}
|
|
210
|
+
if (value.parameter) {
|
|
211
|
+
result.setProperty(rt, "parameter", bridging::toJs(rt, value.parameter.value(), jsInvoker));
|
|
212
|
+
}
|
|
213
|
+
if (value.timeIndex) {
|
|
214
|
+
result.setProperty(rt, "timeIndex", bridging::toJs(rt, value.timeIndex.value(), jsInvoker));
|
|
215
|
+
}
|
|
216
|
+
if (value.colorMap) {
|
|
217
|
+
result.setProperty(rt, "colorMap", bridging::toJs(rt, value.colorMap.value(), jsInvoker));
|
|
218
|
+
}
|
|
219
|
+
if (value.opacity) {
|
|
220
|
+
result.setProperty(rt, "opacity", bridging::toJs(rt, value.opacity.value(), jsInvoker));
|
|
221
|
+
}
|
|
222
|
+
if (value.zoomMin) {
|
|
223
|
+
result.setProperty(rt, "zoomMin", bridging::toJs(rt, value.zoomMin.value(), jsInvoker));
|
|
224
|
+
}
|
|
225
|
+
if (value.zoomMax) {
|
|
226
|
+
result.setProperty(rt, "zoomMax", bridging::toJs(rt, value.zoomMax.value(), jsInvoker));
|
|
227
|
+
}
|
|
228
|
+
if (value.enabledZoomMin) {
|
|
229
|
+
result.setProperty(rt, "enabledZoomMin", bridging::toJs(rt, value.enabledZoomMin.value(), jsInvoker));
|
|
230
|
+
}
|
|
231
|
+
if (value.enabledZoomMax) {
|
|
232
|
+
result.setProperty(rt, "enabledZoomMax", bridging::toJs(rt, value.enabledZoomMax.value(), jsInvoker));
|
|
233
|
+
}
|
|
234
|
+
return result;
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
#pragma mark - NativeWeatherOverlayRemoveLayerParams
|
|
241
|
+
|
|
242
|
+
template <typename P0, typename P1>
|
|
243
|
+
struct NativeWeatherOverlayRemoveLayerParams {
|
|
244
|
+
P0 nativeNodeHandle{};
|
|
245
|
+
P1 uuid;
|
|
246
|
+
bool operator==(const NativeWeatherOverlayRemoveLayerParams &other) const {
|
|
247
|
+
return nativeNodeHandle == other.nativeNodeHandle && uuid == other.uuid;
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
template <typename T>
|
|
252
|
+
struct NativeWeatherOverlayRemoveLayerParamsBridging {
|
|
253
|
+
static T types;
|
|
254
|
+
|
|
255
|
+
static T fromJs(
|
|
256
|
+
jsi::Runtime &rt,
|
|
257
|
+
const jsi::Object &value,
|
|
258
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
259
|
+
T result{
|
|
260
|
+
bridging::fromJs<decltype(types.nativeNodeHandle)>(rt, value.getProperty(rt, "nativeNodeHandle"), jsInvoker),
|
|
261
|
+
bridging::fromJs<decltype(types.uuid)>(rt, value.getProperty(rt, "uuid"), jsInvoker)};
|
|
262
|
+
return result;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
#ifdef DEBUG
|
|
266
|
+
static int nativeNodeHandleToJs(jsi::Runtime &rt, decltype(types.nativeNodeHandle) value) {
|
|
267
|
+
return bridging::toJs(rt, value);
|
|
268
|
+
}
|
|
269
|
+
static jsi::String uuidToJs(jsi::Runtime &rt, decltype(types.uuid) value) {
|
|
270
|
+
return bridging::toJs(rt, value);
|
|
271
|
+
}
|
|
272
|
+
#endif
|
|
273
|
+
|
|
274
|
+
static jsi::Object toJs(
|
|
275
|
+
jsi::Runtime &rt,
|
|
276
|
+
const T &value,
|
|
277
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
278
|
+
auto result = facebook::jsi::Object(rt);
|
|
279
|
+
result.setProperty(rt, "nativeNodeHandle", bridging::toJs(rt, value.nativeNodeHandle, jsInvoker));
|
|
280
|
+
result.setProperty(rt, "uuid", bridging::toJs(rt, value.uuid, jsInvoker));
|
|
281
|
+
return result;
|
|
282
|
+
}
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
#pragma mark - NativeWeatherOverlaySetOpacityParams
|
|
288
|
+
|
|
289
|
+
template <typename P0, typename P1, typename P2>
|
|
290
|
+
struct NativeWeatherOverlaySetOpacityParams {
|
|
291
|
+
P0 nativeNodeHandle{};
|
|
292
|
+
P1 uuid{};
|
|
293
|
+
P2 opacity;
|
|
294
|
+
bool operator==(const NativeWeatherOverlaySetOpacityParams &other) const {
|
|
295
|
+
return nativeNodeHandle == other.nativeNodeHandle && uuid == other.uuid && opacity == other.opacity;
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
template <typename T>
|
|
300
|
+
struct NativeWeatherOverlaySetOpacityParamsBridging {
|
|
301
|
+
static T types;
|
|
302
|
+
|
|
303
|
+
static T fromJs(
|
|
304
|
+
jsi::Runtime &rt,
|
|
305
|
+
const jsi::Object &value,
|
|
306
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
307
|
+
T result{
|
|
308
|
+
bridging::fromJs<decltype(types.nativeNodeHandle)>(rt, value.getProperty(rt, "nativeNodeHandle"), jsInvoker),
|
|
309
|
+
bridging::fromJs<decltype(types.uuid)>(rt, value.getProperty(rt, "uuid"), jsInvoker),
|
|
310
|
+
bridging::fromJs<decltype(types.opacity)>(rt, value.getProperty(rt, "opacity"), jsInvoker)};
|
|
311
|
+
return result;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
#ifdef DEBUG
|
|
315
|
+
static int nativeNodeHandleToJs(jsi::Runtime &rt, decltype(types.nativeNodeHandle) value) {
|
|
316
|
+
return bridging::toJs(rt, value);
|
|
317
|
+
}
|
|
318
|
+
static jsi::String uuidToJs(jsi::Runtime &rt, decltype(types.uuid) value) {
|
|
319
|
+
return bridging::toJs(rt, value);
|
|
320
|
+
}
|
|
321
|
+
static double opacityToJs(jsi::Runtime &rt, decltype(types.opacity) value) {
|
|
322
|
+
return bridging::toJs(rt, value);
|
|
323
|
+
}
|
|
324
|
+
#endif
|
|
325
|
+
|
|
326
|
+
static jsi::Object toJs(
|
|
327
|
+
jsi::Runtime &rt,
|
|
328
|
+
const T &value,
|
|
329
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
330
|
+
auto result = facebook::jsi::Object(rt);
|
|
331
|
+
result.setProperty(rt, "nativeNodeHandle", bridging::toJs(rt, value.nativeNodeHandle, jsInvoker));
|
|
332
|
+
result.setProperty(rt, "uuid", bridging::toJs(rt, value.uuid, jsInvoker));
|
|
333
|
+
if (value.opacity) {
|
|
334
|
+
result.setProperty(rt, "opacity", bridging::toJs(rt, value.opacity.value(), jsInvoker));
|
|
335
|
+
}
|
|
336
|
+
return result;
|
|
337
|
+
}
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
#pragma mark - NativeWeatherOverlaySetTimeIndexParams
|
|
343
|
+
|
|
344
|
+
template <typename P0, typename P1, typename P2>
|
|
345
|
+
struct NativeWeatherOverlaySetTimeIndexParams {
|
|
346
|
+
P0 nativeNodeHandle{};
|
|
347
|
+
P1 uuid{};
|
|
348
|
+
P2 timeIndex;
|
|
349
|
+
bool operator==(const NativeWeatherOverlaySetTimeIndexParams &other) const {
|
|
350
|
+
return nativeNodeHandle == other.nativeNodeHandle && uuid == other.uuid && timeIndex == other.timeIndex;
|
|
351
|
+
}
|
|
352
|
+
};
|
|
353
|
+
|
|
354
|
+
template <typename T>
|
|
355
|
+
struct NativeWeatherOverlaySetTimeIndexParamsBridging {
|
|
356
|
+
static T types;
|
|
357
|
+
|
|
358
|
+
static T fromJs(
|
|
359
|
+
jsi::Runtime &rt,
|
|
360
|
+
const jsi::Object &value,
|
|
361
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
362
|
+
T result{
|
|
363
|
+
bridging::fromJs<decltype(types.nativeNodeHandle)>(rt, value.getProperty(rt, "nativeNodeHandle"), jsInvoker),
|
|
364
|
+
bridging::fromJs<decltype(types.uuid)>(rt, value.getProperty(rt, "uuid"), jsInvoker),
|
|
365
|
+
bridging::fromJs<decltype(types.timeIndex)>(rt, value.getProperty(rt, "timeIndex"), jsInvoker)};
|
|
366
|
+
return result;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
#ifdef DEBUG
|
|
370
|
+
static int nativeNodeHandleToJs(jsi::Runtime &rt, decltype(types.nativeNodeHandle) value) {
|
|
371
|
+
return bridging::toJs(rt, value);
|
|
372
|
+
}
|
|
373
|
+
static jsi::String uuidToJs(jsi::Runtime &rt, decltype(types.uuid) value) {
|
|
374
|
+
return bridging::toJs(rt, value);
|
|
375
|
+
}
|
|
376
|
+
static int timeIndexToJs(jsi::Runtime &rt, decltype(types.timeIndex) value) {
|
|
377
|
+
return bridging::toJs(rt, value);
|
|
378
|
+
}
|
|
379
|
+
#endif
|
|
380
|
+
|
|
381
|
+
static jsi::Object toJs(
|
|
382
|
+
jsi::Runtime &rt,
|
|
383
|
+
const T &value,
|
|
384
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
385
|
+
auto result = facebook::jsi::Object(rt);
|
|
386
|
+
result.setProperty(rt, "nativeNodeHandle", bridging::toJs(rt, value.nativeNodeHandle, jsInvoker));
|
|
387
|
+
result.setProperty(rt, "uuid", bridging::toJs(rt, value.uuid, jsInvoker));
|
|
388
|
+
result.setProperty(rt, "timeIndex", bridging::toJs(rt, value.timeIndex, jsInvoker));
|
|
389
|
+
return result;
|
|
390
|
+
}
|
|
391
|
+
};
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
#pragma mark - NativeWeatherOverlayUpdateEnabledZoomMinMaxParams
|
|
396
|
+
|
|
397
|
+
template <typename P0, typename P1, typename P2, typename P3>
|
|
398
|
+
struct NativeWeatherOverlayUpdateEnabledZoomMinMaxParams {
|
|
399
|
+
P0 nativeNodeHandle{};
|
|
400
|
+
P1 uuid{};
|
|
401
|
+
P2 enabledZoomMin{};
|
|
402
|
+
P3 enabledZoomMax;
|
|
403
|
+
bool operator==(const NativeWeatherOverlayUpdateEnabledZoomMinMaxParams &other) const {
|
|
404
|
+
return nativeNodeHandle == other.nativeNodeHandle && uuid == other.uuid && enabledZoomMin == other.enabledZoomMin && enabledZoomMax == other.enabledZoomMax;
|
|
405
|
+
}
|
|
406
|
+
};
|
|
407
|
+
|
|
408
|
+
template <typename T>
|
|
409
|
+
struct NativeWeatherOverlayUpdateEnabledZoomMinMaxParamsBridging {
|
|
410
|
+
static T types;
|
|
411
|
+
|
|
412
|
+
static T fromJs(
|
|
413
|
+
jsi::Runtime &rt,
|
|
414
|
+
const jsi::Object &value,
|
|
415
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
416
|
+
T result{
|
|
417
|
+
bridging::fromJs<decltype(types.nativeNodeHandle)>(rt, value.getProperty(rt, "nativeNodeHandle"), jsInvoker),
|
|
418
|
+
bridging::fromJs<decltype(types.uuid)>(rt, value.getProperty(rt, "uuid"), jsInvoker),
|
|
419
|
+
bridging::fromJs<decltype(types.enabledZoomMin)>(rt, value.getProperty(rt, "enabledZoomMin"), jsInvoker),
|
|
420
|
+
bridging::fromJs<decltype(types.enabledZoomMax)>(rt, value.getProperty(rt, "enabledZoomMax"), jsInvoker)};
|
|
421
|
+
return result;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
#ifdef DEBUG
|
|
425
|
+
static int nativeNodeHandleToJs(jsi::Runtime &rt, decltype(types.nativeNodeHandle) value) {
|
|
426
|
+
return bridging::toJs(rt, value);
|
|
427
|
+
}
|
|
428
|
+
static jsi::String uuidToJs(jsi::Runtime &rt, decltype(types.uuid) value) {
|
|
429
|
+
return bridging::toJs(rt, value);
|
|
430
|
+
}
|
|
431
|
+
static int enabledZoomMinToJs(jsi::Runtime &rt, decltype(types.enabledZoomMin) value) {
|
|
432
|
+
return bridging::toJs(rt, value);
|
|
433
|
+
}
|
|
434
|
+
static int enabledZoomMaxToJs(jsi::Runtime &rt, decltype(types.enabledZoomMax) value) {
|
|
435
|
+
return bridging::toJs(rt, value);
|
|
436
|
+
}
|
|
437
|
+
#endif
|
|
438
|
+
|
|
439
|
+
static jsi::Object toJs(
|
|
440
|
+
jsi::Runtime &rt,
|
|
441
|
+
const T &value,
|
|
442
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
443
|
+
auto result = facebook::jsi::Object(rt);
|
|
444
|
+
result.setProperty(rt, "nativeNodeHandle", bridging::toJs(rt, value.nativeNodeHandle, jsInvoker));
|
|
445
|
+
result.setProperty(rt, "uuid", bridging::toJs(rt, value.uuid, jsInvoker));
|
|
446
|
+
if (value.enabledZoomMin) {
|
|
447
|
+
result.setProperty(rt, "enabledZoomMin", bridging::toJs(rt, value.enabledZoomMin.value(), jsInvoker));
|
|
448
|
+
}
|
|
449
|
+
if (value.enabledZoomMax) {
|
|
450
|
+
result.setProperty(rt, "enabledZoomMax", bridging::toJs(rt, value.enabledZoomMax.value(), jsInvoker));
|
|
451
|
+
}
|
|
452
|
+
return result;
|
|
453
|
+
}
|
|
454
|
+
};
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
template <typename T>
|
|
458
|
+
class JSI_EXPORT NativeWeatherOverlayCxxSpec : public TurboModule {
|
|
459
|
+
public:
|
|
460
|
+
static constexpr std::string_view kModuleName = "WeatherOverlay";
|
|
461
|
+
|
|
462
|
+
protected:
|
|
463
|
+
NativeWeatherOverlayCxxSpec(std::shared_ptr<CallInvoker> jsInvoker) : TurboModule(std::string{NativeWeatherOverlayCxxSpec::kModuleName}, jsInvoker) {
|
|
464
|
+
methodMap_["getConstants"] = MethodMetadata {.argCount = 0, .invoker = __getConstants};
|
|
465
|
+
methodMap_["createLayer"] = MethodMetadata {.argCount = 1, .invoker = __createLayer};
|
|
466
|
+
methodMap_["removeLayer"] = MethodMetadata {.argCount = 1, .invoker = __removeLayer};
|
|
467
|
+
methodMap_["updateEnabledZoomMinMax"] = MethodMetadata {.argCount = 1, .invoker = __updateEnabledZoomMinMax};
|
|
468
|
+
methodMap_["setOpacity"] = MethodMetadata {.argCount = 1, .invoker = __setOpacity};
|
|
469
|
+
methodMap_["setTimeIndex"] = MethodMetadata {.argCount = 1, .invoker = __setTimeIndex};
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
private:
|
|
473
|
+
static jsi::Value __getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
474
|
+
static_assert(
|
|
475
|
+
bridging::getParameterCount(&T::getConstants) == 1,
|
|
476
|
+
"Expected getConstants(...) to have 1 parameters");
|
|
477
|
+
return bridging::callFromJs<jsi::Object>(rt, &T::getConstants, static_cast<NativeWeatherOverlayCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
static jsi::Value __createLayer(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
481
|
+
static_assert(
|
|
482
|
+
bridging::getParameterCount(&T::createLayer) == 2,
|
|
483
|
+
"Expected createLayer(...) to have 2 parameters");
|
|
484
|
+
return bridging::callFromJs<jsi::Value>(rt, &T::createLayer, static_cast<NativeWeatherOverlayCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
485
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asObject(rt));
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
static jsi::Value __removeLayer(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
489
|
+
static_assert(
|
|
490
|
+
bridging::getParameterCount(&T::removeLayer) == 2,
|
|
491
|
+
"Expected removeLayer(...) to have 2 parameters");
|
|
492
|
+
return bridging::callFromJs<jsi::Value>(rt, &T::removeLayer, static_cast<NativeWeatherOverlayCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
493
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asObject(rt));
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
static jsi::Value __updateEnabledZoomMinMax(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
497
|
+
static_assert(
|
|
498
|
+
bridging::getParameterCount(&T::updateEnabledZoomMinMax) == 2,
|
|
499
|
+
"Expected updateEnabledZoomMinMax(...) to have 2 parameters");
|
|
500
|
+
return bridging::callFromJs<jsi::Value>(rt, &T::updateEnabledZoomMinMax, static_cast<NativeWeatherOverlayCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
501
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asObject(rt));
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
static jsi::Value __setOpacity(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
505
|
+
static_assert(
|
|
506
|
+
bridging::getParameterCount(&T::setOpacity) == 2,
|
|
507
|
+
"Expected setOpacity(...) to have 2 parameters");
|
|
508
|
+
return bridging::callFromJs<jsi::Value>(rt, &T::setOpacity, static_cast<NativeWeatherOverlayCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
509
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asObject(rt));
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
static jsi::Value __setTimeIndex(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
513
|
+
static_assert(
|
|
514
|
+
bridging::getParameterCount(&T::setTimeIndex) == 2,
|
|
515
|
+
"Expected setTimeIndex(...) to have 2 parameters");
|
|
516
|
+
return bridging::callFromJs<jsi::Value>(rt, &T::setTimeIndex, static_cast<NativeWeatherOverlayCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
517
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asObject(rt));
|
|
518
|
+
}
|
|
519
|
+
};
|
|
520
|
+
|
|
521
|
+
} // namespace facebook::react
|
package/android/src/main/java/com/jhotadhari/reactnative/mapsforge/vtm/ext/grib/ExtGribPackage.java
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
package com.jhotadhari.reactnative.mapsforge.vtm.ext.grib;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
|
|
5
|
+
import com.facebook.react.BaseReactPackage;
|
|
6
|
+
import com.facebook.react.ReactPackage;
|
|
7
|
+
import com.facebook.react.bridge.NativeModule;
|
|
8
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
9
|
+
import com.facebook.react.module.model.ReactModuleInfo;
|
|
10
|
+
import com.facebook.react.module.model.ReactModuleInfoProvider;
|
|
11
|
+
import com.jhotadhari.reactnative.mapsforge.vtm.ext.grib.modules.WeatherOverlay;
|
|
12
|
+
|
|
13
|
+
import java.util.ArrayList;
|
|
14
|
+
import java.util.HashMap;
|
|
15
|
+
import java.util.List;
|
|
16
|
+
import java.util.Map;
|
|
17
|
+
|
|
18
|
+
// "implements ReactPackage" is redundant (BaseReactPackage already implements it) but required
|
|
19
|
+
// for the react-native CLI's autolinking regex to detect this as the module's package class.
|
|
20
|
+
public class ExtGribPackage extends BaseReactPackage implements ReactPackage {
|
|
21
|
+
|
|
22
|
+
@NonNull
|
|
23
|
+
@Override
|
|
24
|
+
public List<com.facebook.react.uimanager.ViewManager> createViewManagers(
|
|
25
|
+
@NonNull ReactApplicationContext reactContext
|
|
26
|
+
) {
|
|
27
|
+
// No custom views in this extension — only a TurboModule.
|
|
28
|
+
return new ArrayList<>();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@Override
|
|
32
|
+
public NativeModule getModule(
|
|
33
|
+
@NonNull String s,
|
|
34
|
+
@NonNull ReactApplicationContext reactApplicationContext
|
|
35
|
+
) {
|
|
36
|
+
if (WeatherOverlay.NAME.equals(s)) {
|
|
37
|
+
return new WeatherOverlay(reactApplicationContext);
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@NonNull
|
|
43
|
+
@Override
|
|
44
|
+
public ReactModuleInfoProvider getReactModuleInfoProvider() {
|
|
45
|
+
return new ReactModuleInfoProvider() {
|
|
46
|
+
@NonNull
|
|
47
|
+
@Override
|
|
48
|
+
public Map<String, ReactModuleInfo> getReactModuleInfos() {
|
|
49
|
+
Map<String, ReactModuleInfo> map = new HashMap<>();
|
|
50
|
+
map.put(WeatherOverlay.NAME, new ReactModuleInfo(
|
|
51
|
+
WeatherOverlay.NAME,
|
|
52
|
+
WeatherOverlay.NAME,
|
|
53
|
+
false, // canOverrideExistingModule
|
|
54
|
+
false, // needsEagerInit
|
|
55
|
+
false, // isCxxModule
|
|
56
|
+
true // isTurboModule
|
|
57
|
+
));
|
|
58
|
+
return map;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|