@aguacerowx/react-native 0.0.53 → 0.0.54

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.
Files changed (261) hide show
  1. package/LICENSE +21 -0
  2. package/android/src/main/java/com/aguacerowx/reactnative/NexradRadarLayerView.java +14 -2
  3. package/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +77 -0
  4. package/index.js +1 -1
  5. package/ios/WeatherFrameProcessorModule.m +19 -15
  6. package/ios/WeatherFrameProcessorModule.swift +65 -0
  7. package/lib/commonjs/AguaceroContext.js +0 -4
  8. package/lib/commonjs/AguaceroContext.js.map +1 -1
  9. package/lib/commonjs/GridRenderLayer.js +62 -76
  10. package/lib/commonjs/GridRenderLayer.js.map +1 -1
  11. package/lib/commonjs/MapManager.js +110 -224
  12. package/lib/commonjs/MapManager.js.map +1 -1
  13. package/lib/commonjs/MapRegistry.js +21 -33
  14. package/lib/commonjs/MapRegistry.js.map +1 -1
  15. package/lib/commonjs/NexradRadarLayer.android.js +28 -100
  16. package/lib/commonjs/NexradRadarLayer.android.js.map +1 -1
  17. package/lib/commonjs/NexradRadarLayer.ios.js +26 -97
  18. package/lib/commonjs/NexradRadarLayer.ios.js.map +1 -1
  19. package/lib/commonjs/NexradSitesMapLayer.js +41 -61
  20. package/lib/commonjs/NexradSitesMapLayer.js.map +1 -1
  21. package/lib/commonjs/SatelliteLayer.android.js +26 -38
  22. package/lib/commonjs/SatelliteLayer.android.js.map +1 -1
  23. package/lib/commonjs/SatelliteLayer.ios.js +30 -42
  24. package/lib/commonjs/SatelliteLayer.ios.js.map +1 -1
  25. package/lib/commonjs/StyleApplicator.js +129 -175
  26. package/lib/commonjs/StyleApplicator.js.map +1 -1
  27. package/lib/commonjs/WeatherLayerManager.js +995 -1646
  28. package/lib/commonjs/WeatherLayerManager.js.map +1 -1
  29. package/lib/commonjs/aguaceroCoreDebugHooks.js +58 -130
  30. package/lib/commonjs/aguaceroCoreDebugHooks.js.map +1 -1
  31. package/lib/commonjs/aguaceroRnDebug.js +147 -288
  32. package/lib/commonjs/aguaceroRnDebug.js.map +1 -1
  33. package/lib/commonjs/cdnAuthenticatedFetch.js +104 -0
  34. package/lib/commonjs/cdnAuthenticatedFetch.js.map +1 -0
  35. package/lib/commonjs/dispatchViewManagerCommandCompat.js +51 -88
  36. package/lib/commonjs/dispatchViewManagerCommandCompat.js.map +1 -1
  37. package/lib/commonjs/gridCdnAuth.js +41 -50
  38. package/lib/commonjs/gridCdnAuth.js.map +1 -1
  39. package/lib/commonjs/index.js +14 -0
  40. package/lib/commonjs/index.js.map +1 -1
  41. package/lib/commonjs/nexrad/nexradAndroidController.js +851 -863
  42. package/lib/commonjs/nexrad/nexradAndroidController.js.map +1 -1
  43. package/lib/commonjs/nexrad/nexradCrossSectionSampleAtLatLon.bundled.js +62 -85
  44. package/lib/commonjs/nexrad/nexradCrossSectionSampleAtLatLon.bundled.js.map +1 -1
  45. package/lib/commonjs/nexrad/nexradDiag.js +32 -148
  46. package/lib/commonjs/nexrad/nexradDiag.js.map +1 -1
  47. package/lib/commonjs/nexrad/nexradLevel2Keys.js +261 -0
  48. package/lib/commonjs/nexrad/nexradLevel2Keys.js.map +1 -0
  49. package/lib/commonjs/nexrad/nexradLutBuild.js +64 -111
  50. package/lib/commonjs/nexrad/nexradLutBuild.js.map +1 -1
  51. package/lib/commonjs/nexrad/nexradMapboxFrameOpts.bundled.js +136 -164
  52. package/lib/commonjs/nexrad/nexradMapboxFrameOpts.bundled.js.map +1 -1
  53. package/lib/commonjs/nexrad/nexradSdkImports.js +51 -0
  54. package/lib/commonjs/nexrad/nexradSdkImports.js.map +1 -0
  55. package/lib/commonjs/nexrad/radarArchiveCore.bundled.js +2848 -4455
  56. package/lib/commonjs/nexrad/radarArchiveCore.bundled.js.map +1 -1
  57. package/lib/commonjs/nexrad/radarDecode.worker.bundled.js +445 -648
  58. package/lib/commonjs/nexrad/radarDecode.worker.bundled.js.map +1 -1
  59. package/lib/commonjs/nexrad/radarFrameGpuMatch.bundled.js +52 -68
  60. package/lib/commonjs/nexrad/radarFrameGpuMatch.bundled.js.map +1 -1
  61. package/lib/commonjs/nexradNativeCommandIds.js +24 -0
  62. package/lib/commonjs/nexradNativeCommandIds.js.map +1 -0
  63. package/lib/commonjs/nws/NwsAlertsOverlay.android.js.map +1 -1
  64. package/lib/commonjs/nws/NwsAlertsOverlay.ios.js.map +1 -1
  65. package/lib/commonjs/nws/NwsAlertsOverlay.js +3 -3
  66. package/lib/commonjs/nws/NwsAlertsOverlay.js.map +1 -1
  67. package/lib/commonjs/nws/NwsAlertsOverlay.native.js +235 -361
  68. package/lib/commonjs/nws/NwsAlertsOverlay.native.js.map +1 -1
  69. package/lib/commonjs/nws/eventSourceRnPolyfill.js +92 -146
  70. package/lib/commonjs/nws/eventSourceRnPolyfill.js.map +1 -1
  71. package/lib/commonjs/nws/nwsAndroidConstants.js +2 -8
  72. package/lib/commonjs/nws/nwsAndroidConstants.js.map +1 -1
  73. package/lib/commonjs/satellite/satelliteAndroidController.js +117 -202
  74. package/lib/commonjs/satellite/satelliteAndroidController.js.map +1 -1
  75. package/lib/commonjs/satelliteBridgeDiag.js +3 -13
  76. package/lib/commonjs/satelliteBridgeDiag.js.map +1 -1
  77. package/lib/commonjs/satelliteRnDebug.js +117 -218
  78. package/lib/commonjs/satelliteRnDebug.js.map +1 -1
  79. package/lib/module/AguaceroContext.js +2 -7
  80. package/lib/module/AguaceroContext.js.map +1 -1
  81. package/lib/module/GridRenderLayer.js +66 -80
  82. package/lib/module/GridRenderLayer.js.map +1 -1
  83. package/lib/module/MapManager.js +125 -239
  84. package/lib/module/MapManager.js.map +1 -1
  85. package/lib/module/MapRegistry.js +21 -33
  86. package/lib/module/MapRegistry.js.map +1 -1
  87. package/lib/module/NexradRadarLayer.android.js +32 -104
  88. package/lib/module/NexradRadarLayer.android.js.map +1 -1
  89. package/lib/module/NexradRadarLayer.ios.js +30 -101
  90. package/lib/module/NexradRadarLayer.ios.js.map +1 -1
  91. package/lib/module/NexradSitesMapLayer.js +44 -63
  92. package/lib/module/NexradSitesMapLayer.js.map +1 -1
  93. package/lib/module/SatelliteLayer.android.js +32 -44
  94. package/lib/module/SatelliteLayer.android.js.map +1 -1
  95. package/lib/module/SatelliteLayer.ios.js +36 -48
  96. package/lib/module/SatelliteLayer.ios.js.map +1 -1
  97. package/lib/module/StyleApplicator.js +144 -191
  98. package/lib/module/StyleApplicator.js.map +1 -1
  99. package/lib/module/WeatherLayerManager.js +1024 -1675
  100. package/lib/module/WeatherLayerManager.js.map +1 -1
  101. package/lib/module/aguaceroCoreDebugHooks.js +59 -130
  102. package/lib/module/aguaceroCoreDebugHooks.js.map +1 -1
  103. package/lib/module/aguaceroRnDebug.js +151 -292
  104. package/lib/module/aguaceroRnDebug.js.map +1 -1
  105. package/lib/module/cdnAuthenticatedFetch.js +97 -0
  106. package/lib/module/cdnAuthenticatedFetch.js.map +1 -0
  107. package/lib/module/dispatchViewManagerCommandCompat.js +52 -90
  108. package/lib/module/dispatchViewManagerCommandCompat.js.map +1 -1
  109. package/lib/module/gridCdnAuth.js +38 -50
  110. package/lib/module/gridCdnAuth.js.map +1 -1
  111. package/lib/module/index.js +9 -7
  112. package/lib/module/index.js.map +1 -1
  113. package/lib/module/nexrad/nexradAndroidController.js +865 -876
  114. package/lib/module/nexrad/nexradAndroidController.js.map +1 -1
  115. package/lib/module/nexrad/nexradCrossSectionSampleAtLatLon.bundled.js +62 -85
  116. package/lib/module/nexrad/nexradCrossSectionSampleAtLatLon.bundled.js.map +1 -1
  117. package/lib/module/nexrad/nexradDiag.js +31 -145
  118. package/lib/module/nexrad/nexradDiag.js.map +1 -1
  119. package/lib/module/nexrad/nexradLevel2Keys.js +245 -0
  120. package/lib/module/nexrad/nexradLevel2Keys.js.map +1 -0
  121. package/lib/module/nexrad/nexradLutBuild.js +64 -110
  122. package/lib/module/nexrad/nexradLutBuild.js.map +1 -1
  123. package/lib/module/nexrad/nexradMapboxFrameOpts.bundled.js +136 -163
  124. package/lib/module/nexrad/nexradMapboxFrameOpts.bundled.js.map +1 -1
  125. package/lib/module/nexrad/nexradSdkImports.js +4 -0
  126. package/lib/module/nexrad/nexradSdkImports.js.map +1 -0
  127. package/lib/module/nexrad/radarArchiveCore.bundled.js +2839 -4448
  128. package/lib/module/nexrad/radarArchiveCore.bundled.js.map +1 -1
  129. package/lib/module/nexrad/radarDecode.worker.bundled.js +445 -648
  130. package/lib/module/nexrad/radarDecode.worker.bundled.js.map +1 -1
  131. package/lib/module/nexrad/radarFrameGpuMatch.bundled.js +50 -66
  132. package/lib/module/nexrad/radarFrameGpuMatch.bundled.js.map +1 -1
  133. package/lib/module/nexradNativeCommandIds.js +18 -0
  134. package/lib/module/nexradNativeCommandIds.js.map +1 -0
  135. package/lib/module/nws/NwsAlertsOverlay.android.js +1 -1
  136. package/lib/module/nws/NwsAlertsOverlay.android.js.map +1 -1
  137. package/lib/module/nws/NwsAlertsOverlay.ios.js +1 -1
  138. package/lib/module/nws/NwsAlertsOverlay.ios.js.map +1 -1
  139. package/lib/module/nws/NwsAlertsOverlay.js +5 -5
  140. package/lib/module/nws/NwsAlertsOverlay.js.map +1 -1
  141. package/lib/module/nws/NwsAlertsOverlay.native.js +248 -373
  142. package/lib/module/nws/NwsAlertsOverlay.native.js.map +1 -1
  143. package/lib/module/nws/eventSourceRnPolyfill.js +92 -146
  144. package/lib/module/nws/eventSourceRnPolyfill.js.map +1 -1
  145. package/lib/module/nws/nwsAndroidConstants.js +2 -8
  146. package/lib/module/nws/nwsAndroidConstants.js.map +1 -1
  147. package/lib/module/satellite/satelliteAndroidController.js +123 -208
  148. package/lib/module/satellite/satelliteAndroidController.js.map +1 -1
  149. package/lib/module/satelliteBridgeDiag.js +3 -13
  150. package/lib/module/satelliteBridgeDiag.js.map +1 -1
  151. package/lib/module/satelliteRnDebug.js +123 -223
  152. package/lib/module/satelliteRnDebug.js.map +1 -1
  153. package/lib/typescript/AguaceroContext.d.ts +0 -4
  154. package/lib/typescript/AguaceroContext.d.ts.map +1 -1
  155. package/lib/typescript/GridRenderLayer.d.ts.map +1 -1
  156. package/lib/typescript/MapManager.d.ts +0 -12
  157. package/lib/typescript/MapManager.d.ts.map +1 -1
  158. package/lib/typescript/MapRegistry.d.ts +10 -12
  159. package/lib/typescript/MapRegistry.d.ts.map +1 -1
  160. package/lib/typescript/NexradRadarLayer.android.d.ts.map +1 -1
  161. package/lib/typescript/NexradRadarLayer.ios.d.ts.map +1 -1
  162. package/lib/typescript/NexradSitesMapLayer.d.ts +4 -10
  163. package/lib/typescript/NexradSitesMapLayer.d.ts.map +1 -1
  164. package/lib/typescript/SatelliteLayer.android.d.ts.map +1 -1
  165. package/lib/typescript/SatelliteLayer.ios.d.ts.map +1 -1
  166. package/lib/typescript/StyleApplicator.d.ts +1 -1
  167. package/lib/typescript/StyleApplicator.d.ts.map +1 -1
  168. package/lib/typescript/WeatherLayerManager.d.ts.map +1 -1
  169. package/lib/typescript/aguaceroCoreDebugHooks.d.ts +2 -9
  170. package/lib/typescript/aguaceroCoreDebugHooks.d.ts.map +1 -1
  171. package/lib/typescript/aguaceroRnDebug.d.ts +47 -66
  172. package/lib/typescript/aguaceroRnDebug.d.ts.map +1 -1
  173. package/lib/typescript/cdnAuthenticatedFetch.d.ts +10 -0
  174. package/lib/typescript/cdnAuthenticatedFetch.d.ts.map +1 -0
  175. package/lib/typescript/dispatchViewManagerCommandCompat.d.ts +1 -17
  176. package/lib/typescript/dispatchViewManagerCommandCompat.d.ts.map +1 -1
  177. package/lib/typescript/gridCdnAuth.d.ts +16 -21
  178. package/lib/typescript/gridCdnAuth.d.ts.map +1 -1
  179. package/lib/typescript/index.d.ts +1 -0
  180. package/lib/typescript/nexrad/nexradAndroidController.d.ts +39 -89
  181. package/lib/typescript/nexrad/nexradAndroidController.d.ts.map +1 -1
  182. package/lib/typescript/nexrad/nexradCrossSectionSampleAtLatLon.bundled.d.ts +2 -1
  183. package/lib/typescript/nexrad/nexradCrossSectionSampleAtLatLon.bundled.d.ts.map +1 -1
  184. package/lib/typescript/nexrad/nexradDiag.d.ts +13 -101
  185. package/lib/typescript/nexrad/nexradDiag.d.ts.map +1 -1
  186. package/lib/typescript/nexrad/nexradLevel2Keys.d.ts +36 -0
  187. package/lib/typescript/nexrad/nexradLevel2Keys.d.ts.map +1 -0
  188. package/lib/typescript/nexrad/nexradLutBuild.d.ts +3 -10
  189. package/lib/typescript/nexrad/nexradLutBuild.d.ts.map +1 -1
  190. package/lib/typescript/nexrad/nexradMapboxFrameOpts.bundled.d.ts +4 -3
  191. package/lib/typescript/nexrad/nexradMapboxFrameOpts.bundled.d.ts.map +1 -1
  192. package/lib/typescript/nexrad/nexradSdkImports.d.ts +2 -0
  193. package/lib/typescript/nexrad/nexradSdkImports.d.ts.map +1 -0
  194. package/lib/typescript/nexrad/radarArchiveCore.bundled.d.ts +12 -7
  195. package/lib/typescript/nexrad/radarArchiveCore.bundled.d.ts.map +1 -1
  196. package/lib/typescript/nexrad/radarDecode.worker.bundled.d.ts +20 -20
  197. package/lib/typescript/nexrad/radarDecode.worker.bundled.d.ts.map +1 -1
  198. package/lib/typescript/nexrad/radarFrameGpuMatch.bundled.d.ts +4 -3
  199. package/lib/typescript/nexrad/radarFrameGpuMatch.bundled.d.ts.map +1 -1
  200. package/lib/typescript/nexradNativeCommandIds.d.ts +2 -0
  201. package/lib/typescript/nexradNativeCommandIds.d.ts.map +1 -0
  202. package/lib/typescript/nws/NwsAlertsOverlay.native.d.ts +6 -17
  203. package/lib/typescript/nws/NwsAlertsOverlay.native.d.ts.map +1 -1
  204. package/lib/typescript/nws/eventSourceRnPolyfill.d.ts +0 -3
  205. package/lib/typescript/nws/eventSourceRnPolyfill.d.ts.map +1 -1
  206. package/lib/typescript/nws/nwsAndroidConstants.d.ts +0 -5
  207. package/lib/typescript/nws/nwsAndroidConstants.d.ts.map +1 -1
  208. package/lib/typescript/satellite/satelliteAndroidController.d.ts +9 -47
  209. package/lib/typescript/satellite/satelliteAndroidController.d.ts.map +1 -1
  210. package/lib/typescript/satelliteBridgeDiag.d.ts +1 -5
  211. package/lib/typescript/satelliteBridgeDiag.d.ts.map +1 -1
  212. package/lib/typescript/satelliteRnDebug.d.ts +24 -30
  213. package/lib/typescript/satelliteRnDebug.d.ts.map +1 -1
  214. package/package.json +75 -74
  215. package/src/AguaceroContext.js +1 -7
  216. package/src/GridRenderLayer.js +1 -128
  217. package/src/MapManager.js +1 -277
  218. package/src/MapRegistry.js +1 -56
  219. package/src/NexradRadarLayer.android.js +1 -121
  220. package/src/NexradRadarLayer.ios.js +1 -115
  221. package/src/NexradSitesMapLayer.js +1 -75
  222. package/src/SatelliteLayer.android.js +1 -63
  223. package/src/SatelliteLayer.ios.js +1 -70
  224. package/src/StyleApplicator.js +1 -241
  225. package/src/WeatherLayerManager.js +1 -2045
  226. package/src/aguaceroCoreDebugHooks.js +1 -142
  227. package/src/aguaceroRnDebug.js +1 -336
  228. package/src/cdnAuthenticatedFetch.js +1 -0
  229. package/src/dispatchViewManagerCommandCompat.js +1 -100
  230. package/src/gridCdnAuth.js +1 -56
  231. package/src/index.js +1 -27
  232. package/src/nexrad/nexradAndroidController.js +1 -1078
  233. package/src/nexrad/nexradCrossSectionSampleAtLatLon.bundled.js +1 -91
  234. package/src/nexrad/nexradDiag.js +1 -150
  235. package/src/nexrad/nexradLevel2Keys.js +1 -0
  236. package/src/nexrad/nexradLutBuild.js +1 -126
  237. package/src/nexrad/nexradMapboxFrameOpts.bundled.js +1 -245
  238. package/src/nexrad/nexradSdkImports.js +1 -0
  239. package/src/nexrad/radarArchiveCore.bundled.js +1 -7085
  240. package/src/nexrad/radarDecode.worker.bundled.js +1 -813
  241. package/src/nexrad/radarFrameGpuMatch.bundled.js +1 -79
  242. package/src/nexradNativeCommandIds.js +1 -0
  243. package/src/nws/NwsAlertsOverlay.android.js +1 -1
  244. package/src/nws/NwsAlertsOverlay.ios.js +1 -1
  245. package/src/nws/NwsAlertsOverlay.js +1 -7
  246. package/src/nws/NwsAlertsOverlay.native.js +1 -463
  247. package/src/nws/eventSourceRnPolyfill.js +7 -193
  248. package/src/nws/nwsAndroidConstants.js +1 -8
  249. package/src/satellite/satelliteAndroidController.js +1 -257
  250. package/src/satelliteBridgeDiag.js +1 -15
  251. package/src/satelliteRnDebug.js +1 -269
  252. package/lib/commonjs/nexrad/nexradNativeCommandIds.js +0 -51
  253. package/lib/commonjs/nexrad/nexradNativeCommandIds.js.map +0 -1
  254. package/lib/module/nexrad/nexradNativeCommandIds.js +0 -44
  255. package/lib/module/nexrad/nexradNativeCommandIds.js.map +0 -1
  256. package/lib/typescript/nexrad/nexradNativeCommandIds.d.ts +0 -9
  257. package/lib/typescript/nexrad/nexradNativeCommandIds.d.ts.map +0 -1
  258. package/src/nexrad/nexradNativeCommandIds.js +0 -44
  259. /package/lib/commonjs/{nexrad/nexradSitesUs.json → nexradSitesUs.json} +0 -0
  260. /package/lib/module/{nexrad/nexradSitesUs.json → nexradSitesUs.json} +0 -0
  261. /package/src/{nexrad/nexradSitesUs.json → nexradSitesUs.json} +0 -0
@@ -1,155 +1,41 @@
1
- /**
2
- * NEXRAD pipeline diagnostics (Android / Metro).
3
- *
4
- * Verbose phases / perf: off unless {@code global.__AGUACERO_NEXRAD_DEBUG = true}
5
- * (filter {@code [Aguacero][NEXRAD]} and {@code [Aguacero][NEXRAD][PERF]}).
6
- *
7
- * Legacy pipe line-by-line bridge logs: only if {@code global.__AGUACERO_NEXRAD_PIPE_TRACE = true}.
8
- */
9
-
10
- export function nexradDiagEnabled() {
11
- if (typeof globalThis !== 'undefined' && globalThis.__AGUACERO_NEXRAD_DEBUG === true) {
12
- return true;
13
- }
14
- if (typeof globalThis !== 'undefined' && globalThis.__AGUACERO_DEBUG__ === true) {
15
- return true;
16
- }
17
- return false;
18
- }
19
-
20
- /**
21
- * Opt-in only — line-by-line bridge logs.
22
- * @param {string} tag
23
- * @param {Record<string, unknown>} [detail]
24
- */
25
- export function nexradPipeTrace(tag, detail) {
26
- if (typeof globalThis === 'undefined' || globalThis.__AGUACERO_NEXRAD_PIPE_TRACE !== true) {
27
- return;
28
- }
1
+ import { isAguaceroRnDebugEnabled as f } from "../aguaceroRnDebug";
2
+ const a = "[Aguacero][NEXRAD][pipeline]",
3
+ c = "[Aguacero][NEXRAD][perf]";
4
+ function r() {
29
5
  try {
30
- const msg = detail !== undefined && detail !== null && typeof detail === 'object' ? JSON.stringify(detail) : detail === undefined || detail === null ? '' : String(detail);
31
- console.warn(`[Aguacero][NEXRAD][PIPE] ${tag}`, msg);
32
- } catch {
33
- console.warn(`[Aguacero][NEXRAD][PIPE] ${tag}`, '(unserializable detail)');
34
- }
6
+ if (typeof __DEV__ < "u" && __DEV__) return !0;
7
+ } catch {}
8
+ return f();
9
+ }
10
+ export function nexradDiagBootSnapshot(e) {
11
+ r() && console.warn(`${a} boot`, e);
35
12
  }
36
- export function nexradDiag(phase, detail) {
37
- if (!nexradDiagEnabled()) return;
38
- if (detail !== undefined) {
39
- console.warn(`[Aguacero][NEXRAD] ${phase}`, detail);
40
- } else {
41
- console.warn(`[Aguacero][NEXRAD] ${phase}`);
42
- }
13
+ export function nexradPipelineLog(e, n) {
14
+ r() && (n !== void 0 ? console.warn(`${a} ${e}`, n) : console.warn(`${a} ${e}`));
43
15
  }
44
-
45
- /**
46
- * @param {string} label
47
- * @returns {{ elapsedMs: () => number, end: (detail?: Record<string, unknown>) => number }}
48
- */
49
- export function nexradPerfSpan(label) {
50
- const hasPerf = typeof performance !== 'undefined' && typeof performance.now === 'function';
51
- const t0 = hasPerf ? performance.now() : Date.now();
16
+ export function nexradPerfSpan(e) {
17
+ if (!r()) return {
18
+ end() {}
19
+ };
20
+ const n = Date.now();
52
21
  return {
53
- elapsedMs() {
54
- const t1 = hasPerf ? performance.now() : Date.now();
55
- return t1 - t0;
56
- },
57
- end(detail) {
58
- const msActual = hasPerf ? performance.now() - t0 : Date.now() - t0;
59
- if (!nexradDiagEnabled()) {
60
- return msActual;
61
- }
62
- const payload = detail !== undefined && detail !== null && typeof detail === 'object' ? {
63
- ms: msActual,
64
- ...detail
65
- } : {
66
- ms: msActual
67
- };
68
- console.warn(`[Aguacero][NEXRAD][PERF] ${label}`, payload);
69
- return msActual;
22
+ end(o) {
23
+ const t = Date.now() - n;
24
+ o !== void 0 ? console.warn(`${c} ${e} ${t}ms`, o) : console.warn(`${c} ${e} ${t}ms`);
70
25
  }
71
26
  };
72
27
  }
73
-
74
- /**
75
- * @param {Record<string, unknown>} [extra]
76
- */
77
- export function nexradDiagBootSnapshot(extra = {}) {
78
- if (!nexradDiagEnabled()) return;
79
- const g = typeof globalThis !== 'undefined' ? globalThis : {};
80
- nexradDiag('boot.snapshot', {
81
- ...extra,
82
- workerType: typeof Worker,
83
- navigatorProduct: typeof navigator !== 'undefined' ? navigator.product : undefined,
84
- hermesInternal: typeof g.HermesInternal !== 'undefined'
85
- });
86
- }
87
-
88
- /**
89
- * @param {Uint8Array} gateData
90
- * @param {number} nGates
91
- * @param {number} nRays
92
- * @param {number} valueScale
93
- * @param {number} valueOffset
94
- * @param {number} lutMin
95
- * @param {number} lutMax
96
- */
97
- export function nexradDiagGateTextureSummary(gateData, nGates, nRays, valueScale, valueOffset, lutMin, lutMax) {
98
- if (!nexradDiagEnabled()) {
99
- return {
100
- skipped: true
101
- };
102
- }
103
- if (!gateData?.length) return {
104
- error: 'empty'
105
- };
106
- const pairCount = nGates * nRays;
107
- const expected = pairCount * 2;
108
- if (gateData.length < expected) {
109
- return {
110
- error: 'shortBuffer',
111
- len: gateData.length,
112
- expected
113
- };
114
- }
115
- let sampleN = 0;
116
- let nodataN = 0;
117
- let inLutN = 0;
118
- let minRaw = 32767;
119
- let maxRaw = -32768;
120
- let minPhys = Infinity;
121
- let maxPhys = -Infinity;
122
- const stride = Math.max(1, Math.floor(pairCount / 25000));
123
- for (let p = 0; p < pairCount; p += stride) {
124
- const o = p * 2;
125
- const lo = gateData[o];
126
- const hi = gateData[o + 1];
127
- let raw = lo + hi * 256;
128
- if (raw >= 32768) raw -= 65536;
129
- sampleN++;
130
- if (raw <= -32768) {
131
- nodataN++;
132
- continue;
133
- }
134
- if (raw < minRaw) minRaw = raw;
135
- if (raw > maxRaw) maxRaw = raw;
136
- const phys = raw * valueScale + valueOffset;
137
- if (phys < minPhys) minPhys = phys;
138
- if (phys > maxPhys) maxPhys = phys;
139
- if (phys >= lutMin && phys <= lutMax) inLutN++;
140
- }
141
- return {
142
- samples: sampleN,
143
- nodataSamples: nodataN,
144
- inLutSamples: inLutN,
145
- minRaw: minRaw <= maxRaw ? minRaw : null,
146
- maxRaw: minRaw <= maxRaw ? maxRaw : null,
147
- minPhys: Number.isFinite(minPhys) ? minPhys : null,
148
- maxPhys: Number.isFinite(maxPhys) ? maxPhys : null,
149
- lutMin,
150
- lutMax,
151
- valueScale,
152
- valueOffset
28
+ export function nexradDiagGateTextureSummary(e, n, o, t, i, s, l) {
29
+ if (!r() || !e) return null;
30
+ const u = {
31
+ nGates: n,
32
+ nRays: o,
33
+ gateBytes: e?.length ?? 0,
34
+ valueScale: t,
35
+ valueOffset: i,
36
+ lutMin: s,
37
+ lutMax: l
153
38
  };
39
+ return nexradPipelineLog("gateTexture.summary", u), u;
154
40
  }
155
41
  //# sourceMappingURL=nexradDiag.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["nexradDiagEnabled","globalThis","__AGUACERO_NEXRAD_DEBUG","__AGUACERO_DEBUG__","nexradPipeTrace","tag","detail","__AGUACERO_NEXRAD_PIPE_TRACE","msg","undefined","JSON","stringify","String","console","warn","nexradDiag","phase","nexradPerfSpan","label","hasPerf","performance","now","t0","Date","elapsedMs","t1","end","msActual","payload","ms","nexradDiagBootSnapshot","extra","g","workerType","Worker","navigatorProduct","navigator","product","hermesInternal","HermesInternal","nexradDiagGateTextureSummary","gateData","nGates","nRays","valueScale","valueOffset","lutMin","lutMax","skipped","length","error","pairCount","expected","len","sampleN","nodataN","inLutN","minRaw","maxRaw","minPhys","Infinity","maxPhys","stride","Math","max","floor","p","o","lo","hi","raw","phys","samples","nodataSamples","inLutSamples","Number","isFinite"],"sourceRoot":"..\\..\\..\\src","sources":["nexrad/nexradDiag.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isAguaceroRnDebugEnabled","f","a","c","r","__DEV__","nexradDiagBootSnapshot","e","console","warn","nexradPipelineLog","n","nexradPerfSpan","end","Date","now","o","t","nexradDiagGateTextureSummary","i","s","l","u","nGates","nRays","gateBytes","length","valueScale","valueOffset","lutMin","lutMax"],"sourceRoot":"..\\..\\..\\src","sources":["nexrad/nexradDiag.js"],"mappings":"AAAA,SAAOA,wBAAwB,IAAIC,CAAC,QAAK,oBAAoB;AAAC,MAAMC,CAAC,GAAC,8BAA8B;EAACC,CAAC,GAAC,0BAA0B;AAAC,SAASC,CAACA,CAAA,EAAE;EAAC,IAAG;IAAC,IAAG,OAAOC,OAAO,GAAC,GAAG,IAAEA,OAAO,EAAC,OAAM,CAAC,CAAC;EAAA,CAAC,OAAK,CAAC;EAAC,OAAOJ,CAAC,CAAC,CAAC;AAAA;AAAC,OAAO,SAASK,sBAAsBA,CAACC,CAAC,EAAC;EAACH,CAAC,CAAC,CAAC,IAAEI,OAAO,CAACC,IAAI,CAAC,GAAGP,CAAC,OAAO,EAACK,CAAC,CAAC;AAAA;AAAC,OAAO,SAASG,iBAAiBA,CAACH,CAAC,EAACI,CAAC,EAAC;EAACP,CAAC,CAAC,CAAC,KAAGO,CAAC,KAAG,KAAK,CAAC,GAACH,OAAO,CAACC,IAAI,CAAC,GAAGP,CAAC,IAAIK,CAAC,EAAE,EAACI,CAAC,CAAC,GAACH,OAAO,CAACC,IAAI,CAAC,GAAGP,CAAC,IAAIK,CAAC,EAAE,CAAC,CAAC;AAAA;AAAC,OAAO,SAASK,cAAcA,CAACL,CAAC,EAAC;EAAC,IAAG,CAACH,CAAC,CAAC,CAAC,EAAC,OAAM;IAACS,GAAGA,CAAA,EAAE,CAAC;EAAC,CAAC;EAAC,MAAMF,CAAC,GAACG,IAAI,CAACC,GAAG,CAAC,CAAC;EAAC,OAAM;IAACF,GAAGA,CAACG,CAAC,EAAC;MAAC,MAAMC,CAAC,GAACH,IAAI,CAACC,GAAG,CAAC,CAAC,GAACJ,CAAC;MAACK,CAAC,KAAG,KAAK,CAAC,GAACR,OAAO,CAACC,IAAI,CAAC,GAAGN,CAAC,IAAII,CAAC,IAAIU,CAAC,IAAI,EAACD,CAAC,CAAC,GAACR,OAAO,CAACC,IAAI,CAAC,GAAGN,CAAC,IAAII,CAAC,IAAIU,CAAC,IAAI,CAAC;IAAA;EAAC,CAAC;AAAA;AAAC,OAAO,SAASC,4BAA4BA,CAACX,CAAC,EAACI,CAAC,EAACK,CAAC,EAACC,CAAC,EAACE,CAAC,EAACC,CAAC,EAACC,CAAC,EAAC;EAAC,IAAG,CAACjB,CAAC,CAAC,CAAC,IAAE,CAACG,CAAC,EAAC,OAAO,IAAI;EAAC,MAAMe,CAAC,GAAC;IAACC,MAAM,EAACZ,CAAC;IAACa,KAAK,EAACR,CAAC;IAACS,SAAS,EAAClB,CAAC,EAAEmB,MAAM,IAAE,CAAC;IAACC,UAAU,EAACV,CAAC;IAACW,WAAW,EAACT,CAAC;IAACU,MAAM,EAACT,CAAC;IAACU,MAAM,EAACT;EAAC,CAAC;EAAC,OAAOX,iBAAiB,CAAC,qBAAqB,EAACY,CAAC,CAAC,EAACA,CAAC;AAAA","ignoreList":[]}
@@ -0,0 +1,245 @@
1
+ import { clampNexradTiltForVariable as h, formatTiltForApi as N, getDefaultRadarTilt as S, isNexradTdwrSiteId as L, variableToNexradGroup as j } from "./nexradSdkImports.js";
2
+ const K = /^[A-Z][A-Z0-9]{3}_\d+\.\d+_\d+_\d+_g[12]\.bin$/,
3
+ F = 4,
4
+ O = 12;
5
+ function M(e) {
6
+ const t = Number(e),
7
+ n = Number.isFinite(t) && t > 0 ? t : 1;
8
+ return Math.min(O, Math.max(n, F));
9
+ }
10
+ export function isValidLevel2SweepObjectKey(e) {
11
+ return typeof e != "string" || !e ? !1 : K.test(e);
12
+ }
13
+ function _(e) {
14
+ return e === "g1" ? 1 : 2;
15
+ }
16
+ export function buildLevel2SweepObjectKey(e, t, n, r, o) {
17
+ const i = _(r);
18
+ return `${e}_${t}_${n}_${o}_g${i}.bin`;
19
+ }
20
+ export function lookupClenForUnix(e, t) {
21
+ if (!e || typeof e != "object") return null;
22
+ const n = Number(t);
23
+ if (!Number.isFinite(n)) return null;
24
+ const r = [String(n), String(Math.floor(n)), String(n * 1e3), String(Math.floor(n * 1e3))];
25
+ for (const o of r) {
26
+ const i = e[o];
27
+ if (i == null || i === "") continue;
28
+ const l = Number(i);
29
+ if (Number.isFinite(l) && l > 0) return Math.floor(l);
30
+ }
31
+ return null;
32
+ }
33
+ export function listingContextParams(e) {
34
+ const t = e?.nexradSite,
35
+ n = (e?.nexradProduct || "REF").toUpperCase(),
36
+ r = Number.isFinite(e?.nexradTilt) ? e.nexradTilt : S(t),
37
+ o = N(h(t, n, r)),
38
+ i = j(n);
39
+ return {
40
+ site: t,
41
+ elevNorm: o,
42
+ group: i,
43
+ radarVarU: n
44
+ };
45
+ }
46
+ export function rebuildLevel2TimeToKeyMap({
47
+ stationId: e,
48
+ elevNorm: t,
49
+ group: n,
50
+ timeToKeyMap: r = {},
51
+ level2Clens: o,
52
+ unixTimes: i
53
+ }) {
54
+ if (!e || !o || typeof o != "object") return {
55
+ ...r
56
+ };
57
+ const l = Array.isArray(i) && i.length > 0 ? i.map(Number).filter(a => Number.isFinite(a)) : Object.keys(r || {}).map(Number).filter(a => Number.isFinite(a)),
58
+ s = {};
59
+ for (const a of l) {
60
+ const m = String(a),
61
+ f = r[m];
62
+ if (typeof f == "string" && isValidLevel2SweepObjectKey(f)) {
63
+ s[m] = f;
64
+ continue;
65
+ }
66
+ const p = lookupClenForUnix(o, a);
67
+ if (p == null) continue;
68
+ const y = buildLevel2SweepObjectKey(e, t, a, n, p);
69
+ isValidLevel2SweepObjectKey(y) && (s[m] = y);
70
+ }
71
+ return s;
72
+ }
73
+ function C(e) {
74
+ return e.map(t => typeof t == "number" && t > 10 ** 10 ? Math.floor(t / 1e3) : t);
75
+ }
76
+ function A(e) {
77
+ let t = [],
78
+ n = {};
79
+ if (Array.isArray(e?.times)) t = C(e.times), n = e?.clens && typeof e.clens == "object" ? e.clens : {};else if (e?.body) {
80
+ const r = typeof e.body == "string" ? JSON.parse(e.body) : e.body;
81
+ t = Array.isArray(r?.times) ? C(r.times) : [], n = r?.clens && typeof r.clens == "object" ? r.clens : {};
82
+ }
83
+ return {
84
+ times: t,
85
+ clens: n
86
+ };
87
+ }
88
+ export function mergeLevel2NexradListingEntry(e, t, n, r = {}) {
89
+ const o = Array.isArray(t?.unixTimes) ? t.unixTimes : [],
90
+ i = t?.timeToKeyMap && typeof t.timeToKeyMap == "object" ? t.timeToKeyMap : {},
91
+ l = {
92
+ ...(e?.level2Clens && typeof e.level2Clens == "object" ? e.level2Clens : {}),
93
+ ...(t?.level2Clens && typeof t.level2Clens == "object" ? t.level2Clens : {})
94
+ };
95
+ let s = [...new Set([...o, ...(e?.unixTimes ?? [])])].sort((c, u) => c - u);
96
+ if (n > 0 && s.length > 0) {
97
+ const c = s[s.length - 1] - n * 3600;
98
+ s = s.filter(u => u >= c);
99
+ }
100
+ const a = {},
101
+ m = !r.forceRefresh;
102
+ for (const c of s) {
103
+ const u = String(c),
104
+ g = e?.timeToKeyMap?.[u],
105
+ v = i[u],
106
+ T = m && g ? g : v || g;
107
+ T && (a[u] = T);
108
+ }
109
+ let f = s.filter(c => a[String(c)]),
110
+ p = a;
111
+ const {
112
+ stationId: y,
113
+ elevNorm: b,
114
+ group: x
115
+ } = r;
116
+ if (y && b && x && Object.keys(l).length > 0) {
117
+ const c = rebuildLevel2TimeToKeyMap({
118
+ stationId: y,
119
+ elevNorm: b,
120
+ group: x,
121
+ timeToKeyMap: a,
122
+ level2Clens: l,
123
+ unixTimes: f.length > 0 ? f : s
124
+ });
125
+ Object.keys(c).length > 0 && (p = c, f = Object.keys(c).map(u => Number(u)).filter(u => Number.isFinite(u)).sort((u, g) => u - g));
126
+ }
127
+ return {
128
+ unixTimes: f,
129
+ timeToKeyMap: p,
130
+ level2Clens: l,
131
+ listWindowHours: n,
132
+ level2ListingEmpty: f.length === 0
133
+ };
134
+ }
135
+ const k = "https://ddknicwcw2wyov7v5bzxmbqu440tzntf.lambda-url.us-east-2.on.aws/";
136
+ export async function fetchAndApplyLevel2ListingToCore(e, t, n = {}) {
137
+ const r = e?._nexradTimesCacheKey?.();
138
+ if (!r || !t?.nexradSite) return !1;
139
+ const o = typeof n.listingHours == "number" ? n.listingHours : typeof e._nexradListingWindowHours == "function" ? e._nexradListingWindowHours() : 1,
140
+ {
141
+ site: i,
142
+ elevNorm: l,
143
+ group: s
144
+ } = listingContextParams(t),
145
+ a = M(o),
146
+ m = new URLSearchParams({
147
+ station: i,
148
+ field: s,
149
+ elev: l,
150
+ hours: String(a)
151
+ }),
152
+ f = `${k}?${m.toString()}`,
153
+ p = {},
154
+ y = typeof n.siteOrigin == "string" ? n.siteOrigin.trim() : "";
155
+ y && (p.Origin = y);
156
+ const b = await fetch(f, {
157
+ headers: p
158
+ });
159
+ if (!b.ok) return !1;
160
+ const x = await b.json(),
161
+ {
162
+ times: c,
163
+ clens: u
164
+ } = A(x);
165
+ if (!c.length && (!u || !Object.keys(u).length)) {
166
+ const d = e.nexradTimesByStation[r];
167
+ return e.nexradTimesByStation[r] = mergeLevel2NexradListingEntry(d, {
168
+ unixTimes: [],
169
+ timeToKeyMap: {},
170
+ level2Clens: {}
171
+ }, o), typeof e._emitStateChange == "function" && e._emitStateChange(), !0;
172
+ }
173
+ if (!u || !Object.keys(u).length) return !1;
174
+ const g = rebuildLevel2TimeToKeyMap({
175
+ stationId: i,
176
+ elevNorm: l,
177
+ group: s,
178
+ level2Clens: u,
179
+ unixTimes: c
180
+ }),
181
+ v = Object.keys(g).map(d => Number(d)).filter(d => Number.isFinite(d)).sort((d, w) => d - w);
182
+ if (!v.length) return !1;
183
+ const T = e.nexradTimesByStation[r];
184
+ return e.nexradTimesByStation[r] = mergeLevel2NexradListingEntry(T, {
185
+ unixTimes: v,
186
+ timeToKeyMap: g,
187
+ level2Clens: u
188
+ }, o, {
189
+ stationId: i,
190
+ elevNorm: l,
191
+ group: s
192
+ }), typeof e._emitStateChange == "function" && e._emitStateChange(), !0;
193
+ }
194
+ export function level2ListingCacheNeedsRefresh(e) {
195
+ if (!e) return !0;
196
+ if (e.level2ListingEmpty === !0) return !1;
197
+ const t = e.level2Clens,
198
+ n = t && typeof t == "object" && Object.keys(t).length > 0,
199
+ r = e.timeToKeyMap;
200
+ if (!n || !r || typeof r != "object" || Object.keys(r).length === 0) return !0;
201
+ const o = Object.values(r).find(i => typeof i == "string" && i.length > 0);
202
+ return !o || !isValidLevel2SweepObjectKey(o);
203
+ }
204
+ export function resolveLevel2SweepObjectKeyForFetch(e, t) {
205
+ const {
206
+ stationId: n,
207
+ elevNorm: r,
208
+ group: o,
209
+ unixSec: i,
210
+ clens: l
211
+ } = t || {};
212
+ if (typeof e == "string" && isValidLevel2SweepObjectKey(e)) return e;
213
+ if (!n || !r || !o || i == null || !l) return null;
214
+ const s = lookupClenForUnix(l, i);
215
+ if (s == null) return null;
216
+ const a = buildLevel2SweepObjectKey(n, r, i, o, s);
217
+ return isValidLevel2SweepObjectKey(a) ? a : null;
218
+ }
219
+ export function resolveLevel2ObjectKeyForFetch({
220
+ state: e,
221
+ listingEntry: t,
222
+ unix: n,
223
+ radarVar: r,
224
+ rawKey: o
225
+ }) {
226
+ if (typeof o == "string" && isValidLevel2SweepObjectKey(o)) return o;
227
+ const i = e?.nexradSite,
228
+ l = t?.level2Clens;
229
+ if (!i || !l || typeof l != "object") return null;
230
+ const s = (r || e.nexradProduct || "REF").toUpperCase(),
231
+ a = Number.isFinite(e.nexradTilt) ? e.nexradTilt : S(i),
232
+ m = N(h(i, s, a)),
233
+ f = j(s);
234
+ return resolveLevel2SweepObjectKeyForFetch(o, {
235
+ stationId: i,
236
+ elevNorm: m,
237
+ group: f,
238
+ unixSec: n,
239
+ clens: l
240
+ });
241
+ }
242
+ export function level2ListingEmptyHint(e) {
243
+ return L(e) ? "TDWR site: Level-II sweep lambda returned no volumes. Try a WSR-88D site (K*) such as KSHV or KTLX." : "Level-II sweep lambda returned no volumes for this site/tilt/window.";
244
+ }
245
+ //# sourceMappingURL=nexradLevel2Keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["clampNexradTiltForVariable","h","formatTiltForApi","N","getDefaultRadarTilt","S","isNexradTdwrSiteId","L","variableToNexradGroup","j","K","F","O","M","e","t","Number","n","isFinite","Math","min","max","isValidLevel2SweepObjectKey","test","_","buildLevel2SweepObjectKey","r","o","i","lookupClenForUnix","String","floor","l","listingContextParams","nexradSite","nexradProduct","toUpperCase","nexradTilt","site","elevNorm","group","radarVarU","rebuildLevel2TimeToKeyMap","stationId","timeToKeyMap","level2Clens","unixTimes","Array","isArray","length","map","filter","a","Object","keys","s","m","f","p","y","C","A","times","clens","body","JSON","parse","mergeLevel2NexradListingEntry","Set","sort","c","u","forceRefresh","g","v","T","b","x","listWindowHours","level2ListingEmpty","k","fetchAndApplyLevel2ListingToCore","_nexradTimesCacheKey","listingHours","_nexradListingWindowHours","URLSearchParams","station","field","elev","hours","toString","siteOrigin","trim","Origin","fetch","headers","ok","json","d","nexradTimesByStation","_emitStateChange","w","level2ListingCacheNeedsRefresh","values","find","resolveLevel2SweepObjectKeyForFetch","unixSec","resolveLevel2ObjectKeyForFetch","state","listingEntry","unix","radarVar","rawKey","level2ListingEmptyHint"],"sourceRoot":"..\\..\\..\\src","sources":["nexrad/nexradLevel2Keys.js"],"mappings":"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","ignoreList":[]}