@5stones/react-native-audio-browser 0.2.0 → 0.3.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.
Files changed (605) hide show
  1. package/AudioBrowser.podspec +3 -1
  2. package/android/src/main/cpp/cpp-adapter.cpp +4 -1
  3. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +8 -27
  4. package/android/src/main/java/com/audiobrowser/Service.kt +0 -2
  5. package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +5 -0
  6. package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +31 -0
  7. package/android/src/main/java/com/audiobrowser/browser/SimpleRouter.kt +10 -6
  8. package/android/src/main/java/com/audiobrowser/browser/TrackLoadHandler.kt +45 -0
  9. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +3 -21
  10. package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +1 -0
  11. package/android/src/main/java/com/audiobrowser/player/Player.kt +1 -0
  12. package/android/src/test/java/com/audiobrowser/browser/SimpleRouterTest.kt +104 -95
  13. package/ios/Browser/BrowserConfig.swift +31 -5
  14. package/ios/Browser/BrowserManager.swift +96 -6
  15. package/ios/Browser/JsonModels.swift +37 -0
  16. package/ios/CarPlay/CarPlayController.swift +219 -99
  17. package/ios/CarPlay/RNABAudioBrowser.h +23 -0
  18. package/ios/CarPlay/RNABAudioBrowser.m +22 -0
  19. package/ios/CarPlay/RNABMediaIntentHandler.swift +60 -0
  20. package/ios/Extension/ChapterMetadata+AVFoundation.swift +1 -1
  21. package/ios/Extension/CxxVectorConformances.swift +20 -0
  22. package/ios/Extension/TimedMetadata+AVFoundation.swift +5 -5
  23. package/ios/Extension/Track+AVPlayer.swift +5 -6
  24. package/ios/Extension/TrackMetadata+AVFoundation.swift +1 -1
  25. package/ios/HybridAudioBrowser.swift +107 -46
  26. package/ios/Model/MediaURL.swift +2 -1
  27. package/ios/Player/PlayingStateManager.swift +1 -0
  28. package/ios/Player/RetryManager.swift +26 -65
  29. package/ios/Player/SleepTimerManager.swift +6 -8
  30. package/ios/RemoteCommand/RemoteCommandController.swift +6 -0
  31. package/ios/Tests/SimpleRouterTests.swift +139 -0
  32. package/ios/TrackPlayer.swift +35 -24
  33. package/ios/Util/NetworkMonitor.swift +3 -6
  34. package/ios/Util/SFSymbolRenderer.swift +142 -0
  35. package/lib/commonjs/features/browser.js +1 -0
  36. package/lib/commonjs/features/browser.js.map +1 -1
  37. package/lib/commonjs/features/remoteControls.js +1 -24
  38. package/lib/commonjs/features/remoteControls.js.map +1 -1
  39. package/lib/commonjs/web/NativeAudioBrowser.js +20 -24
  40. package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
  41. package/lib/commonjs/web/SimpleRouter.js +4 -3
  42. package/lib/commonjs/web/SimpleRouter.js.map +1 -1
  43. package/lib/commonjs/web/SimpleRouter.test.js +174 -0
  44. package/lib/commonjs/web/SimpleRouter.test.js.map +1 -0
  45. package/lib/module/features/browser.js +1 -0
  46. package/lib/module/features/browser.js.map +1 -1
  47. package/lib/module/features/remoteControls.js +0 -22
  48. package/lib/module/features/remoteControls.js.map +1 -1
  49. package/lib/module/web/NativeAudioBrowser.js +20 -24
  50. package/lib/module/web/NativeAudioBrowser.js.map +1 -1
  51. package/lib/module/web/SimpleRouter.js +4 -3
  52. package/lib/module/web/SimpleRouter.js.map +1 -1
  53. package/lib/module/web/SimpleRouter.test.js +174 -0
  54. package/lib/module/web/SimpleRouter.test.js.map +1 -0
  55. package/lib/typescript/src/features/browser.d.ts.map +1 -1
  56. package/lib/typescript/src/features/remoteControls.d.ts +0 -26
  57. package/lib/typescript/src/features/remoteControls.d.ts.map +1 -1
  58. package/lib/typescript/src/specs/audio-browser.nitro.d.ts +1 -3
  59. package/lib/typescript/src/specs/audio-browser.nitro.d.ts.map +1 -1
  60. package/lib/typescript/src/types/browser-native.d.ts +2 -1
  61. package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
  62. package/lib/typescript/src/types/browser-nodes.d.ts +46 -1
  63. package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
  64. package/lib/typescript/src/types/browser.d.ts +32 -0
  65. package/lib/typescript/src/types/browser.d.ts.map +1 -1
  66. package/lib/typescript/src/web/NativeAudioBrowser.d.ts +3 -6
  67. package/lib/typescript/src/web/NativeAudioBrowser.d.ts.map +1 -1
  68. package/lib/typescript/src/web/SimpleRouter.d.ts.map +1 -1
  69. package/lib/typescript/src/web/SimpleRouter.test.d.ts +2 -0
  70. package/lib/typescript/src/web/SimpleRouter.test.d.ts.map +1 -0
  71. package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +1 -1
  72. package/nitrogen/generated/android/AudioBrowser+autolinking.gradle +1 -1
  73. package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +67 -57
  74. package/nitrogen/generated/android/AudioBrowserOnLoad.hpp +14 -5
  75. package/nitrogen/generated/android/c++/JAndroidAudioContentType.hpp +6 -7
  76. package/nitrogen/generated/android/c++/JAndroidAudioOffloadSettings.hpp +1 -1
  77. package/nitrogen/generated/android/c++/JAndroidOptions.hpp +1 -1
  78. package/nitrogen/generated/android/c++/JAndroidPlayerWakeMode.hpp +4 -5
  79. package/nitrogen/generated/android/c++/JAndroidUpdateOptions.hpp +1 -1
  80. package/nitrogen/generated/android/c++/JAppKilledPlaybackBehavior.hpp +4 -5
  81. package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +4 -1
  82. package/nitrogen/generated/android/c++/JBatteryOptimizationStatus.hpp +4 -5
  83. package/nitrogen/generated/android/c++/JBatteryOptimizationStatusChangedEvent.hpp +1 -1
  84. package/nitrogen/generated/android/c++/JBatteryWarningPendingChangedEvent.hpp +1 -1
  85. package/nitrogen/generated/android/c++/JBrowseError.hpp +1 -1
  86. package/nitrogen/generated/android/c++/JBrowseResult.cpp +1 -1
  87. package/nitrogen/generated/android/c++/JBrowseResult.hpp +7 -3
  88. package/nitrogen/generated/android/c++/JBrowserSourceCallbackParam.hpp +1 -1
  89. package/nitrogen/generated/android/c++/JCarPlayNowPlayingButton.hpp +5 -6
  90. package/nitrogen/generated/android/c++/JCarPlaySiriListButtonPosition.hpp +58 -0
  91. package/nitrogen/generated/android/c++/JChapterMetadata.hpp +1 -1
  92. package/nitrogen/generated/android/c++/JEqualizerSettings.hpp +1 -1
  93. package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +4 -1
  94. package/nitrogen/generated/android/c++/JFormatNavigationErrorParams.hpp +1 -1
  95. package/nitrogen/generated/android/c++/JFormattedNavigationError.hpp +1 -1
  96. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams.hpp +1 -1
  97. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____MediaTransformParams.hpp +1 -1
  98. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____RequestConfig_std__optional_std__unordered_map_std__string__std__string__.hpp +1 -1
  99. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +4 -1
  100. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.hpp +5 -1
  101. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +3 -1
  102. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +139 -0
  103. package/nitrogen/generated/android/c++/JFunc_void.hpp +1 -1
  104. package/nitrogen/generated/android/c++/JFunc_void_BatteryOptimizationStatusChangedEvent.hpp +1 -1
  105. package/nitrogen/generated/android/c++/JFunc_void_BatteryWarningPendingChangedEvent.hpp +1 -1
  106. package/nitrogen/generated/android/c++/JFunc_void_EqualizerSettings.hpp +1 -1
  107. package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +4 -1
  108. package/nitrogen/generated/android/c++/JFunc_void_IosOutput.hpp +1 -1
  109. package/nitrogen/generated/android/c++/JFunc_void_NavigationErrorEvent.hpp +1 -1
  110. package/nitrogen/generated/android/c++/JFunc_void_NowPlayingMetadata.hpp +1 -1
  111. package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +1 -1
  112. package/nitrogen/generated/android/c++/JFunc_void_Playback.hpp +1 -1
  113. package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +4 -1
  114. package/nitrogen/generated/android/c++/JFunc_void_PlaybackErrorEvent.hpp +1 -1
  115. package/nitrogen/generated/android/c++/JFunc_void_PlaybackPlayWhenReadyChangedEvent.hpp +1 -1
  116. package/nitrogen/generated/android/c++/JFunc_void_PlaybackProgressUpdatedEvent.hpp +1 -1
  117. package/nitrogen/generated/android/c++/JFunc_void_PlaybackQueueEndedEvent.hpp +1 -1
  118. package/nitrogen/generated/android/c++/JFunc_void_PlayingState.hpp +1 -1
  119. package/nitrogen/generated/android/c++/JFunc_void_RemoteJumpBackwardEvent.hpp +1 -1
  120. package/nitrogen/generated/android/c++/JFunc_void_RemoteJumpForwardEvent.hpp +1 -1
  121. package/nitrogen/generated/android/c++/JFunc_void_RemotePlayIdEvent.hpp +1 -1
  122. package/nitrogen/generated/android/c++/JFunc_void_RemotePlaySearchEvent.hpp +1 -1
  123. package/nitrogen/generated/android/c++/JFunc_void_RemoteSeekEvent.hpp +1 -1
  124. package/nitrogen/generated/android/c++/JFunc_void_RemoteSetRatingEvent.hpp +1 -1
  125. package/nitrogen/generated/android/c++/JFunc_void_RemoteSkipEvent.hpp +1 -1
  126. package/nitrogen/generated/android/c++/JFunc_void_RepeatModeChangedEvent.hpp +1 -1
  127. package/nitrogen/generated/android/c++/JFunc_void_TimedMetadata.hpp +1 -1
  128. package/nitrogen/generated/android/c++/JFunc_void_TrackMetadata.hpp +1 -1
  129. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +1 -1
  130. package/nitrogen/generated/android/c++/JFunc_void_double.hpp +1 -1
  131. package/nitrogen/generated/android/c++/JFunc_void_std__optional_FormattedNavigationError_.hpp +1 -1
  132. package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +5 -1
  133. package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__SleepTimerTime__SleepTimerEndOfTrack__.hpp +1 -1
  134. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +1 -1
  135. package/nitrogen/generated/android/c++/JFunc_void_std__vector_ChapterMetadata_.hpp +1 -1
  136. package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +3 -1
  137. package/nitrogen/generated/android/c++/JHeartRating.hpp +1 -1
  138. package/nitrogen/generated/android/c++/JHttpMethod.hpp +8 -9
  139. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +230 -245
  140. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.hpp +20 -26
  141. package/nitrogen/generated/android/c++/JIOSCategory.hpp +7 -8
  142. package/nitrogen/generated/android/c++/JIOSCategoryMode.hpp +10 -11
  143. package/nitrogen/generated/android/c++/JIOSCategoryOptions.hpp +8 -9
  144. package/nitrogen/generated/android/c++/JIOSCategoryPolicy.hpp +4 -5
  145. package/nitrogen/generated/android/c++/JImageContext.hpp +1 -1
  146. package/nitrogen/generated/android/c++/JImageQueryParams.hpp +1 -1
  147. package/nitrogen/generated/android/c++/JImageRowItem.hpp +75 -0
  148. package/nitrogen/generated/android/c++/JImageSource.hpp +1 -1
  149. package/nitrogen/generated/android/c++/JIosOutput.hpp +1 -1
  150. package/nitrogen/generated/android/c++/JIosOutputType.hpp +12 -13
  151. package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +4 -1
  152. package/nitrogen/generated/android/c++/JMediaTransformParams.hpp +1 -1
  153. package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +22 -2
  154. package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +5 -1
  155. package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +1 -1
  156. package/nitrogen/generated/android/c++/JNavigationError.hpp +1 -1
  157. package/nitrogen/generated/android/c++/JNavigationErrorEvent.hpp +1 -1
  158. package/nitrogen/generated/android/c++/JNavigationErrorType.hpp +6 -7
  159. package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +1 -1
  160. package/nitrogen/generated/android/c++/JNotificationButton.hpp +6 -7
  161. package/nitrogen/generated/android/c++/JNotificationButtonLayout.hpp +1 -1
  162. package/nitrogen/generated/android/c++/JNowPlayingMetadata.hpp +1 -1
  163. package/nitrogen/generated/android/c++/JNowPlayingUpdate.hpp +1 -1
  164. package/nitrogen/generated/android/c++/JOptions.hpp +1 -1
  165. package/nitrogen/generated/android/c++/JPartialAndroidSetupPlayerOptions.hpp +1 -1
  166. package/nitrogen/generated/android/c++/JPartialIOSSetupPlayerOptions.hpp +1 -1
  167. package/nitrogen/generated/android/c++/JPartialSetupPlayerOptions.hpp +1 -1
  168. package/nitrogen/generated/android/c++/JPercentageRating.hpp +1 -1
  169. package/nitrogen/generated/android/c++/JPlayback.hpp +1 -1
  170. package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +4 -1
  171. package/nitrogen/generated/android/c++/JPlaybackError.hpp +1 -1
  172. package/nitrogen/generated/android/c++/JPlaybackErrorEvent.hpp +1 -1
  173. package/nitrogen/generated/android/c++/JPlaybackPlayWhenReadyChangedEvent.hpp +1 -1
  174. package/nitrogen/generated/android/c++/JPlaybackProgressUpdatedEvent.hpp +1 -1
  175. package/nitrogen/generated/android/c++/JPlaybackQueueEndedEvent.hpp +1 -1
  176. package/nitrogen/generated/android/c++/JPlaybackState.hpp +10 -11
  177. package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +1 -1
  178. package/nitrogen/generated/android/c++/JPlayingState.hpp +1 -1
  179. package/nitrogen/generated/android/c++/JProgress.hpp +1 -1
  180. package/nitrogen/generated/android/c++/JRatingType.hpp +8 -9
  181. package/nitrogen/generated/android/c++/JRemoteJumpBackwardEvent.hpp +1 -1
  182. package/nitrogen/generated/android/c++/JRemoteJumpForwardEvent.hpp +1 -1
  183. package/nitrogen/generated/android/c++/JRemotePlayIdEvent.hpp +1 -1
  184. package/nitrogen/generated/android/c++/JRemotePlaySearchEvent.hpp +1 -1
  185. package/nitrogen/generated/android/c++/JRemoteSeekEvent.hpp +1 -1
  186. package/nitrogen/generated/android/c++/JRemoteSetRatingEvent.hpp +1 -1
  187. package/nitrogen/generated/android/c++/JRemoteSkipEvent.hpp +1 -1
  188. package/nitrogen/generated/android/c++/JRepeatMode.hpp +4 -5
  189. package/nitrogen/generated/android/c++/JRepeatModeChangedEvent.hpp +1 -1
  190. package/nitrogen/generated/android/c++/JRequestConfig.hpp +1 -1
  191. package/nitrogen/generated/android/c++/JResolvedTrack.hpp +34 -4
  192. package/nitrogen/generated/android/c++/JRetryConfig.hpp +1 -1
  193. package/nitrogen/generated/android/c++/JSearchMode.hpp +7 -8
  194. package/nitrogen/generated/android/c++/JSearchParams.hpp +1 -1
  195. package/nitrogen/generated/android/c++/JSleepTimer.cpp +1 -1
  196. package/nitrogen/generated/android/c++/JSleepTimer.hpp +4 -4
  197. package/nitrogen/generated/android/c++/JSleepTimerEndOfTrack.hpp +1 -1
  198. package/nitrogen/generated/android/c++/JSleepTimerTime.hpp +1 -1
  199. package/nitrogen/generated/android/c++/JStarRating.hpp +1 -1
  200. package/nitrogen/generated/android/c++/JThumbsRating.hpp +1 -1
  201. package/nitrogen/generated/android/c++/JTimedMetadata.hpp +1 -1
  202. package/nitrogen/generated/android/c++/JTrack.hpp +29 -4
  203. package/nitrogen/generated/android/c++/{JRemoteLoadEvent.hpp → JTrackLoadEvent.hpp} +13 -11
  204. package/nitrogen/generated/android/c++/JTrackMetadata.hpp +1 -1
  205. package/nitrogen/generated/android/c++/JTrackStyle.hpp +3 -4
  206. package/nitrogen/generated/android/c++/JTransformableRequestConfig.hpp +1 -1
  207. package/nitrogen/generated/android/c++/JUpdateOptions.hpp +1 -1
  208. package/nitrogen/generated/android/c++/JVariant_Boolean_AndroidAudioOffloadSettings.cpp +1 -1
  209. package/nitrogen/generated/android/c++/JVariant_Boolean_AndroidAudioOffloadSettings.hpp +3 -3
  210. package/nitrogen/generated/android/c++/JVariant_Boolean_RetryConfig.cpp +1 -1
  211. package/nitrogen/generated/android/c++/JVariant_Boolean_RetryConfig.hpp +3 -3
  212. package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.cpp +1 -1
  213. package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.hpp +5 -5
  214. package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +1 -1
  215. package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +3 -3
  216. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.cpp +1 -1
  217. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.hpp +3 -3
  218. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidAudioContentType.kt +3 -1
  219. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidAudioOffloadSettings.kt +2 -2
  220. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidOptions.kt +2 -2
  221. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidPlayerWakeMode.kt +3 -1
  222. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidUpdateOptions.kt +2 -2
  223. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AppKilledPlaybackBehavior.kt +3 -1
  224. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkRequestConfig.kt +2 -2
  225. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AudioBrowserOnLoad.kt +1 -1
  226. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BatteryOptimizationStatus.kt +3 -1
  227. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BatteryOptimizationStatusChangedEvent.kt +2 -2
  228. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BatteryWarningPendingChangedEvent.kt +2 -2
  229. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BrowseError.kt +2 -2
  230. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BrowseResult.kt +1 -7
  231. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BrowserSourceCallbackParam.kt +2 -2
  232. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayNowPlayingButton.kt +3 -1
  233. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlaySiriListButtonPosition.kt +23 -0
  234. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ChapterMetadata.kt +2 -2
  235. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/EqualizerSettings.kt +2 -2
  236. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FavoriteChangedEvent.kt +2 -2
  237. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormatNavigationErrorParams.kt +2 -2
  238. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormattedNavigationError.kt +2 -2
  239. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams.kt +1 -1
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____MediaTransformParams.kt +1 -1
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____RequestConfig_std__optional_std__unordered_map_std__string__std__string__.kt +1 -1
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.kt +1 -1
  243. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.kt +1 -1
  244. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.kt +1 -1
  245. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_RemoteLoadEvent.kt → Func_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.kt} +14 -14
  246. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void.kt +1 -1
  247. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_BatteryOptimizationStatusChangedEvent.kt +1 -1
  248. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_BatteryWarningPendingChangedEvent.kt +1 -1
  249. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_EqualizerSettings.kt +1 -1
  250. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_FavoriteChangedEvent.kt +1 -1
  251. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_IosOutput.kt +1 -1
  252. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_NavigationErrorEvent.kt +1 -1
  253. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_NowPlayingMetadata.kt +1 -1
  254. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_Options.kt +1 -1
  255. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_Playback.kt +1 -1
  256. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackActiveTrackChangedEvent.kt +1 -1
  257. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackErrorEvent.kt +1 -1
  258. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackPlayWhenReadyChangedEvent.kt +1 -1
  259. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackProgressUpdatedEvent.kt +1 -1
  260. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackQueueEndedEvent.kt +1 -1
  261. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlayingState.kt +1 -1
  262. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteJumpBackwardEvent.kt +1 -1
  263. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteJumpForwardEvent.kt +1 -1
  264. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemotePlayIdEvent.kt +1 -1
  265. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemotePlaySearchEvent.kt +1 -1
  266. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteSeekEvent.kt +1 -1
  267. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteSetRatingEvent.kt +1 -1
  268. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteSkipEvent.kt +1 -1
  269. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RepeatModeChangedEvent.kt +1 -1
  270. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_TimedMetadata.kt +1 -1
  271. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_TrackMetadata.kt +1 -1
  272. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_bool.kt +1 -1
  273. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_double.kt +1 -1
  274. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__optional_FormattedNavigationError_.kt +1 -1
  275. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__optional_ResolvedTrack_.kt +1 -1
  276. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__optional_std__variant_nitro__NullType__SleepTimerTime__SleepTimerEndOfTrack__.kt +1 -1
  277. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__string.kt +1 -1
  278. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__vector_ChapterMetadata_.kt +1 -1
  279. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__vector_Track_.kt +1 -1
  280. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HeartRating.kt +2 -2
  281. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HttpMethod.kt +3 -1
  282. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HybridAudioBrowserSpec.kt +16 -47
  283. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSCategory.kt +3 -1
  284. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSCategoryMode.kt +3 -1
  285. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSCategoryOptions.kt +3 -1
  286. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSCategoryPolicy.kt +3 -1
  287. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageContext.kt +2 -2
  288. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageQueryParams.kt +2 -2
  289. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +47 -0
  290. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageSource.kt +2 -2
  291. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IosOutput.kt +2 -2
  292. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IosOutputType.kt +3 -1
  293. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaRequestConfig.kt +2 -2
  294. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaTransformParams.kt +2 -2
  295. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +9 -6
  296. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeRouteEntry.kt +2 -2
  297. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeUpdateOptions.kt +2 -2
  298. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationError.kt +2 -2
  299. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorEvent.kt +2 -2
  300. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorType.kt +3 -1
  301. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +2 -2
  302. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButton.kt +3 -1
  303. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButtonLayout.kt +2 -2
  304. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingMetadata.kt +2 -2
  305. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingUpdate.kt +2 -2
  306. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Options.kt +2 -2
  307. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PartialAndroidSetupPlayerOptions.kt +2 -2
  308. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PartialIOSSetupPlayerOptions.kt +2 -2
  309. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PartialSetupPlayerOptions.kt +2 -2
  310. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PercentageRating.kt +2 -2
  311. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Playback.kt +2 -2
  312. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackActiveTrackChangedEvent.kt +2 -2
  313. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackError.kt +2 -2
  314. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackErrorEvent.kt +2 -2
  315. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackPlayWhenReadyChangedEvent.kt +2 -2
  316. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackProgressUpdatedEvent.kt +2 -2
  317. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackQueueEndedEvent.kt +2 -2
  318. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackState.kt +3 -1
  319. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayerCapabilities.kt +2 -2
  320. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayingState.kt +2 -2
  321. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Progress.kt +2 -2
  322. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RatingType.kt +3 -1
  323. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteJumpBackwardEvent.kt +2 -2
  324. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteJumpForwardEvent.kt +2 -2
  325. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemotePlayIdEvent.kt +2 -2
  326. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemotePlaySearchEvent.kt +2 -2
  327. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteSeekEvent.kt +2 -2
  328. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteSetRatingEvent.kt +2 -2
  329. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteSkipEvent.kt +2 -2
  330. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RepeatMode.kt +3 -1
  331. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RepeatModeChangedEvent.kt +2 -2
  332. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RequestConfig.kt +2 -2
  333. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ResolvedTrack.kt +11 -5
  334. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RetryConfig.kt +2 -2
  335. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchMode.kt +3 -1
  336. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchParams.kt +2 -2
  337. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SleepTimer.kt +1 -8
  338. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SleepTimerEndOfTrack.kt +2 -2
  339. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SleepTimerTime.kt +2 -2
  340. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StarRating.kt +2 -2
  341. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ThumbsRating.kt +2 -2
  342. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TimedMetadata.kt +2 -2
  343. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +8 -5
  344. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{RemoteLoadEvent.kt → TrackLoadEvent.kt} +7 -7
  345. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackMetadata.kt +2 -2
  346. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackStyle.kt +3 -1
  347. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TransformableRequestConfig.kt +2 -2
  348. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/UpdateOptions.kt +2 -2
  349. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_AndroidAudioOffloadSettings.kt +1 -7
  350. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_RetryConfig.kt +1 -7
  351. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.kt +1 -9
  352. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_NullType_Double.kt +1 -7
  353. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_NullType_NotificationButtonLayout.kt +1 -7
  354. package/nitrogen/generated/ios/AudioBrowser+autolinking.rb +2 -2
  355. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +23 -14
  356. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +239 -142
  357. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +10 -4
  358. package/nitrogen/generated/ios/AudioBrowserAutolinking.mm +1 -1
  359. package/nitrogen/generated/ios/AudioBrowserAutolinking.swift +9 -8
  360. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.cpp +1 -1
  361. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +25 -18
  362. package/nitrogen/generated/ios/swift/AndroidAudioContentType.swift +1 -1
  363. package/nitrogen/generated/ios/swift/AndroidAudioOffloadSettings.swift +19 -44
  364. package/nitrogen/generated/ios/swift/AndroidOptions.swift +30 -74
  365. package/nitrogen/generated/ios/swift/AndroidPlayerWakeMode.swift +1 -1
  366. package/nitrogen/generated/ios/swift/AndroidUpdateOptions.swift +44 -112
  367. package/nitrogen/generated/ios/swift/AppKilledPlaybackBehavior.swift +1 -1
  368. package/nitrogen/generated/ios/swift/ArtworkRequestConfig.swift +152 -303
  369. package/nitrogen/generated/ios/swift/BatteryOptimizationStatus.swift +1 -1
  370. package/nitrogen/generated/ios/swift/BatteryOptimizationStatusChangedEvent.swift +3 -10
  371. package/nitrogen/generated/ios/swift/BatteryWarningPendingChangedEvent.swift +3 -10
  372. package/nitrogen/generated/ios/swift/BrowseError.swift +3 -10
  373. package/nitrogen/generated/ios/swift/BrowseResult.swift +1 -1
  374. package/nitrogen/generated/ios/swift/BrowserSourceCallbackParam.swift +20 -45
  375. package/nitrogen/generated/ios/swift/CarPlayNowPlayingButton.swift +1 -1
  376. package/nitrogen/generated/ios/swift/CarPlaySiriListButtonPosition.swift +40 -0
  377. package/nitrogen/generated/ios/swift/ChapterMetadata.swift +23 -60
  378. package/nitrogen/generated/ios/swift/EqualizerSettings.swift +24 -97
  379. package/nitrogen/generated/ios/swift/FavoriteChangedEvent.swift +5 -18
  380. package/nitrogen/generated/ios/swift/FormatNavigationErrorParams.swift +7 -26
  381. package/nitrogen/generated/ios/swift/FormattedNavigationError.swift +5 -18
  382. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams.swift +1 -2
  383. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____MediaTransformParams.swift +1 -2
  384. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____RequestConfig_std__optional_std__unordered_map_std__string__std__string__.swift +1 -2
  385. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.swift +1 -2
  386. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.swift +1 -2
  387. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.swift +1 -2
  388. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.swift +61 -0
  389. package/nitrogen/generated/ios/swift/Func_void.swift +1 -2
  390. package/nitrogen/generated/ios/swift/Func_void_BatteryOptimizationStatusChangedEvent.swift +1 -2
  391. package/nitrogen/generated/ios/swift/Func_void_BatteryWarningPendingChangedEvent.swift +1 -2
  392. package/nitrogen/generated/ios/swift/Func_void_EqualizerSettings.swift +1 -2
  393. package/nitrogen/generated/ios/swift/Func_void_FavoriteChangedEvent.swift +1 -2
  394. package/nitrogen/generated/ios/swift/Func_void_IosOutput.swift +1 -2
  395. package/nitrogen/generated/ios/swift/Func_void_NavigationErrorEvent.swift +1 -2
  396. package/nitrogen/generated/ios/swift/Func_void_NowPlayingMetadata.swift +1 -2
  397. package/nitrogen/generated/ios/swift/Func_void_Options.swift +1 -2
  398. package/nitrogen/generated/ios/swift/Func_void_Playback.swift +1 -2
  399. package/nitrogen/generated/ios/swift/Func_void_PlaybackActiveTrackChangedEvent.swift +1 -2
  400. package/nitrogen/generated/ios/swift/Func_void_PlaybackErrorEvent.swift +1 -2
  401. package/nitrogen/generated/ios/swift/Func_void_PlaybackPlayWhenReadyChangedEvent.swift +1 -2
  402. package/nitrogen/generated/ios/swift/Func_void_PlaybackProgressUpdatedEvent.swift +1 -2
  403. package/nitrogen/generated/ios/swift/Func_void_PlaybackQueueEndedEvent.swift +1 -2
  404. package/nitrogen/generated/ios/swift/Func_void_PlayingState.swift +1 -2
  405. package/nitrogen/generated/ios/swift/Func_void_RemoteJumpBackwardEvent.swift +1 -2
  406. package/nitrogen/generated/ios/swift/Func_void_RemoteJumpForwardEvent.swift +1 -2
  407. package/nitrogen/generated/ios/swift/Func_void_RemotePlayIdEvent.swift +1 -2
  408. package/nitrogen/generated/ios/swift/Func_void_RemotePlaySearchEvent.swift +1 -2
  409. package/nitrogen/generated/ios/swift/Func_void_RemoteSeekEvent.swift +1 -2
  410. package/nitrogen/generated/ios/swift/Func_void_RemoteSetRatingEvent.swift +1 -2
  411. package/nitrogen/generated/ios/swift/Func_void_RemoteSkipEvent.swift +1 -2
  412. package/nitrogen/generated/ios/swift/Func_void_RepeatModeChangedEvent.swift +1 -2
  413. package/nitrogen/generated/ios/swift/Func_void_RequestConfig.swift +1 -2
  414. package/nitrogen/generated/ios/swift/Func_void_TimedMetadata.swift +1 -2
  415. package/nitrogen/generated/ios/swift/Func_void_TrackMetadata.swift +1 -2
  416. package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -2
  417. package/nitrogen/generated/ios/swift/Func_void_double.swift +1 -2
  418. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -2
  419. package/nitrogen/generated/ios/swift/Func_void_std__optional_FormattedNavigationError_.swift +1 -2
  420. package/nitrogen/generated/ios/swift/Func_void_std__optional_ResolvedTrack_.swift +1 -2
  421. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__SleepTimerTime__SleepTimerEndOfTrack__.swift +1 -2
  422. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_RequestConfig__.swift +1 -2
  423. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___.swift +1 -2
  424. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__vector_Track___.swift +1 -2
  425. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_void__.swift +64 -0
  426. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -2
  427. package/nitrogen/generated/ios/swift/Func_void_std__variant_ResolvedTrack__BrowseError_.swift +1 -2
  428. package/nitrogen/generated/ios/swift/Func_void_std__vector_ChapterMetadata_.swift +1 -2
  429. package/nitrogen/generated/ios/swift/Func_void_std__vector_Track_.swift +1 -2
  430. package/nitrogen/generated/ios/swift/HeartRating.swift +3 -10
  431. package/nitrogen/generated/ios/swift/HttpMethod.swift +1 -1
  432. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec.swift +3 -6
  433. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec_cxx.swift +56 -58
  434. package/nitrogen/generated/ios/swift/IOSCategory.swift +1 -1
  435. package/nitrogen/generated/ios/swift/IOSCategoryMode.swift +1 -1
  436. package/nitrogen/generated/ios/swift/IOSCategoryOptions.swift +1 -1
  437. package/nitrogen/generated/ios/swift/IOSCategoryPolicy.swift +1 -1
  438. package/nitrogen/generated/ios/swift/ImageContext.swift +19 -30
  439. package/nitrogen/generated/ios/swift/ImageQueryParams.swift +19 -44
  440. package/nitrogen/generated/ios/swift/ImageRowItem.swift +76 -0
  441. package/nitrogen/generated/ios/swift/ImageSource.swift +31 -80
  442. package/nitrogen/generated/ios/swift/IosOutput.swift +7 -26
  443. package/nitrogen/generated/ios/swift/IosOutputType.swift +1 -1
  444. package/nitrogen/generated/ios/swift/MediaRequestConfig.swift +162 -301
  445. package/nitrogen/generated/ios/swift/MediaTransformParams.swift +5 -24
  446. package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +143 -232
  447. package/nitrogen/generated/ios/swift/NativeRouteEntry.swift +81 -178
  448. package/nitrogen/generated/ios/swift/NativeUpdateOptions.swift +53 -125
  449. package/nitrogen/generated/ios/swift/NavigationError.swift +23 -53
  450. package/nitrogen/generated/ios/swift/NavigationErrorEvent.swift +3 -16
  451. package/nitrogen/generated/ios/swift/NavigationErrorType.swift +1 -1
  452. package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +44 -112
  453. package/nitrogen/generated/ios/swift/NotificationButton.swift +1 -1
  454. package/nitrogen/generated/ios/swift/NotificationButtonLayout.swift +18 -85
  455. package/nitrogen/generated/ios/swift/NowPlayingMetadata.swift +109 -227
  456. package/nitrogen/generated/ios/swift/NowPlayingUpdate.swift +19 -44
  457. package/nitrogen/generated/ios/swift/Options.swift +32 -88
  458. package/nitrogen/generated/ios/swift/PartialAndroidSetupPlayerOptions.swift +101 -201
  459. package/nitrogen/generated/ios/swift/PartialIOSSetupPlayerOptions.swift +25 -85
  460. package/nitrogen/generated/ios/swift/PartialSetupPlayerOptions.swift +35 -91
  461. package/nitrogen/generated/ios/swift/PercentageRating.swift +3 -10
  462. package/nitrogen/generated/ios/swift/Playback.swift +5 -24
  463. package/nitrogen/generated/ios/swift/PlaybackActiveTrackChangedEvent.swift +25 -66
  464. package/nitrogen/generated/ios/swift/PlaybackError.swift +5 -18
  465. package/nitrogen/generated/ios/swift/PlaybackErrorEvent.swift +3 -16
  466. package/nitrogen/generated/ios/swift/PlaybackPlayWhenReadyChangedEvent.swift +3 -10
  467. package/nitrogen/generated/ios/swift/PlaybackProgressUpdatedEvent.swift +9 -34
  468. package/nitrogen/generated/ios/swift/PlaybackQueueEndedEvent.swift +5 -18
  469. package/nitrogen/generated/ios/swift/PlaybackState.swift +1 -1
  470. package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +109 -254
  471. package/nitrogen/generated/ios/swift/PlayingState.swift +5 -18
  472. package/nitrogen/generated/ios/swift/Progress.swift +7 -26
  473. package/nitrogen/generated/ios/swift/RatingType.swift +1 -1
  474. package/nitrogen/generated/ios/swift/RemoteJumpBackwardEvent.swift +3 -10
  475. package/nitrogen/generated/ios/swift/RemoteJumpForwardEvent.swift +3 -10
  476. package/nitrogen/generated/ios/swift/RemotePlayIdEvent.swift +12 -24
  477. package/nitrogen/generated/ios/swift/RemotePlaySearchEvent.swift +3 -10
  478. package/nitrogen/generated/ios/swift/RemoteSeekEvent.swift +3 -10
  479. package/nitrogen/generated/ios/swift/RemoteSetRatingEvent.swift +21 -39
  480. package/nitrogen/generated/ios/swift/RemoteSkipEvent.swift +3 -10
  481. package/nitrogen/generated/ios/swift/RepeatMode.swift +1 -1
  482. package/nitrogen/generated/ios/swift/RepeatModeChangedEvent.swift +3 -10
  483. package/nitrogen/generated/ios/swift/RequestConfig.swift +82 -191
  484. package/nitrogen/generated/ios/swift/ResolvedTrack.swift +164 -333
  485. package/nitrogen/generated/ios/swift/RetryConfig.swift +12 -24
  486. package/nitrogen/generated/ios/swift/SearchMode.swift +1 -1
  487. package/nitrogen/generated/ios/swift/SearchParams.swift +50 -129
  488. package/nitrogen/generated/ios/swift/SleepTimer.swift +1 -1
  489. package/nitrogen/generated/ios/swift/SleepTimerEndOfTrack.swift +3 -10
  490. package/nitrogen/generated/ios/swift/SleepTimerTime.swift +3 -10
  491. package/nitrogen/generated/ios/swift/StarRating.swift +3 -10
  492. package/nitrogen/generated/ios/swift/ThumbsRating.swift +3 -10
  493. package/nitrogen/generated/ios/swift/TimedMetadata.swift +46 -107
  494. package/nitrogen/generated/ios/swift/Track.swift +151 -319
  495. package/nitrogen/generated/ios/swift/TrackLoadEvent.swift +45 -0
  496. package/nitrogen/generated/ios/swift/TrackMetadata.swift +145 -338
  497. package/nitrogen/generated/ios/swift/TrackStyle.swift +1 -1
  498. package/nitrogen/generated/ios/swift/TransformableRequestConfig.swift +128 -252
  499. package/nitrogen/generated/ios/swift/UpdateOptions.swift +53 -125
  500. package/nitrogen/generated/ios/swift/Variant_Bool_AndroidAudioOffloadSettings.swift +1 -1
  501. package/nitrogen/generated/ios/swift/Variant_Bool_RetryConfig.swift +1 -1
  502. package/nitrogen/generated/ios/swift/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.swift +1 -1
  503. package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +1 -1
  504. package/nitrogen/generated/ios/swift/Variant_NullType_NotificationButtonLayout.swift +1 -1
  505. package/nitrogen/generated/shared/c++/AndroidAudioContentType.hpp +1 -1
  506. package/nitrogen/generated/shared/c++/AndroidAudioOffloadSettings.hpp +16 -8
  507. package/nitrogen/generated/shared/c++/AndroidOptions.hpp +25 -17
  508. package/nitrogen/generated/shared/c++/AndroidPlayerWakeMode.hpp +1 -1
  509. package/nitrogen/generated/shared/c++/AndroidUpdateOptions.hpp +25 -17
  510. package/nitrogen/generated/shared/c++/AppKilledPlaybackBehavior.hpp +1 -1
  511. package/nitrogen/generated/shared/c++/ArtworkRequestConfig.hpp +43 -35
  512. package/nitrogen/generated/shared/c++/BatteryOptimizationStatus.hpp +1 -1
  513. package/nitrogen/generated/shared/c++/BatteryOptimizationStatusChangedEvent.hpp +13 -5
  514. package/nitrogen/generated/shared/c++/BatteryWarningPendingChangedEvent.hpp +13 -5
  515. package/nitrogen/generated/shared/c++/BrowseError.hpp +13 -5
  516. package/nitrogen/generated/shared/c++/BrowserSourceCallbackParam.hpp +16 -8
  517. package/nitrogen/generated/shared/c++/CarPlayNowPlayingButton.hpp +1 -1
  518. package/nitrogen/generated/shared/c++/CarPlaySiriListButtonPosition.hpp +76 -0
  519. package/nitrogen/generated/shared/c++/ChapterMetadata.hpp +22 -14
  520. package/nitrogen/generated/shared/c++/EqualizerSettings.hpp +34 -26
  521. package/nitrogen/generated/shared/c++/FavoriteChangedEvent.hpp +16 -8
  522. package/nitrogen/generated/shared/c++/FormatNavigationErrorParams.hpp +19 -11
  523. package/nitrogen/generated/shared/c++/FormattedNavigationError.hpp +16 -8
  524. package/nitrogen/generated/shared/c++/HeartRating.hpp +13 -5
  525. package/nitrogen/generated/shared/c++/HttpMethod.hpp +1 -1
  526. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.cpp +1 -5
  527. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.hpp +1 -8
  528. package/nitrogen/generated/shared/c++/IOSCategory.hpp +1 -1
  529. package/nitrogen/generated/shared/c++/IOSCategoryMode.hpp +1 -1
  530. package/nitrogen/generated/shared/c++/IOSCategoryOptions.hpp +1 -1
  531. package/nitrogen/generated/shared/c++/IOSCategoryPolicy.hpp +1 -1
  532. package/nitrogen/generated/shared/c++/ImageContext.hpp +16 -8
  533. package/nitrogen/generated/shared/c++/ImageQueryParams.hpp +16 -8
  534. package/nitrogen/generated/shared/c++/ImageRowItem.hpp +98 -0
  535. package/nitrogen/generated/shared/c++/ImageSource.hpp +22 -14
  536. package/nitrogen/generated/shared/c++/IosOutput.hpp +19 -11
  537. package/nitrogen/generated/shared/c++/IosOutputType.hpp +1 -1
  538. package/nitrogen/generated/shared/c++/MediaRequestConfig.hpp +40 -32
  539. package/nitrogen/generated/shared/c++/MediaTransformParams.hpp +16 -8
  540. package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +50 -35
  541. package/nitrogen/generated/shared/c++/NativeRouteEntry.hpp +34 -26
  542. package/nitrogen/generated/shared/c++/NativeUpdateOptions.hpp +28 -20
  543. package/nitrogen/generated/shared/c++/NavigationError.hpp +22 -14
  544. package/nitrogen/generated/shared/c++/NavigationErrorEvent.hpp +13 -5
  545. package/nitrogen/generated/shared/c++/NavigationErrorType.hpp +1 -1
  546. package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +25 -17
  547. package/nitrogen/generated/shared/c++/NotificationButton.hpp +1 -1
  548. package/nitrogen/generated/shared/c++/NotificationButtonLayout.hpp +25 -17
  549. package/nitrogen/generated/shared/c++/NowPlayingMetadata.hpp +40 -32
  550. package/nitrogen/generated/shared/c++/NowPlayingUpdate.hpp +16 -8
  551. package/nitrogen/generated/shared/c++/Options.hpp +28 -20
  552. package/nitrogen/generated/shared/c++/PartialAndroidSetupPlayerOptions.hpp +40 -32
  553. package/nitrogen/generated/shared/c++/PartialIOSSetupPlayerOptions.hpp +25 -17
  554. package/nitrogen/generated/shared/c++/PartialSetupPlayerOptions.hpp +22 -14
  555. package/nitrogen/generated/shared/c++/PercentageRating.hpp +13 -5
  556. package/nitrogen/generated/shared/c++/Playback.hpp +16 -8
  557. package/nitrogen/generated/shared/c++/PlaybackActiveTrackChangedEvent.hpp +25 -17
  558. package/nitrogen/generated/shared/c++/PlaybackError.hpp +16 -8
  559. package/nitrogen/generated/shared/c++/PlaybackErrorEvent.hpp +13 -5
  560. package/nitrogen/generated/shared/c++/PlaybackPlayWhenReadyChangedEvent.hpp +13 -5
  561. package/nitrogen/generated/shared/c++/PlaybackProgressUpdatedEvent.hpp +22 -14
  562. package/nitrogen/generated/shared/c++/PlaybackQueueEndedEvent.hpp +16 -8
  563. package/nitrogen/generated/shared/c++/PlaybackState.hpp +1 -1
  564. package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +46 -38
  565. package/nitrogen/generated/shared/c++/PlayingState.hpp +16 -8
  566. package/nitrogen/generated/shared/c++/Progress.hpp +19 -11
  567. package/nitrogen/generated/shared/c++/RatingType.hpp +1 -1
  568. package/nitrogen/generated/shared/c++/RemoteJumpBackwardEvent.hpp +13 -5
  569. package/nitrogen/generated/shared/c++/RemoteJumpForwardEvent.hpp +13 -5
  570. package/nitrogen/generated/shared/c++/RemotePlayIdEvent.hpp +16 -8
  571. package/nitrogen/generated/shared/c++/RemotePlaySearchEvent.hpp +13 -5
  572. package/nitrogen/generated/shared/c++/RemoteSeekEvent.hpp +13 -5
  573. package/nitrogen/generated/shared/c++/RemoteSetRatingEvent.hpp +13 -5
  574. package/nitrogen/generated/shared/c++/RemoteSkipEvent.hpp +13 -5
  575. package/nitrogen/generated/shared/c++/RepeatMode.hpp +1 -1
  576. package/nitrogen/generated/shared/c++/RepeatModeChangedEvent.hpp +13 -5
  577. package/nitrogen/generated/shared/c++/RequestConfig.hpp +34 -26
  578. package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +79 -57
  579. package/nitrogen/generated/shared/c++/RetryConfig.hpp +16 -8
  580. package/nitrogen/generated/shared/c++/SearchMode.hpp +1 -1
  581. package/nitrogen/generated/shared/c++/SearchParams.hpp +31 -23
  582. package/nitrogen/generated/shared/c++/SleepTimerEndOfTrack.hpp +13 -5
  583. package/nitrogen/generated/shared/c++/SleepTimerTime.hpp +13 -5
  584. package/nitrogen/generated/shared/c++/StarRating.hpp +13 -5
  585. package/nitrogen/generated/shared/c++/ThumbsRating.hpp +13 -5
  586. package/nitrogen/generated/shared/c++/TimedMetadata.hpp +25 -17
  587. package/nitrogen/generated/shared/c++/Track.hpp +70 -54
  588. package/nitrogen/generated/shared/c++/{RemoteLoadEvent.hpp → TrackLoadEvent.hpp} +28 -20
  589. package/nitrogen/generated/shared/c++/TrackMetadata.hpp +58 -50
  590. package/nitrogen/generated/shared/c++/TrackStyle.hpp +1 -1
  591. package/nitrogen/generated/shared/c++/TransformableRequestConfig.hpp +37 -29
  592. package/nitrogen/generated/shared/c++/UpdateOptions.hpp +28 -20
  593. package/package.json +6 -7
  594. package/src/features/browser.ts +1 -0
  595. package/src/features/remoteControls.ts +0 -35
  596. package/src/specs/audio-browser.nitro.ts +0 -3
  597. package/src/types/browser-native.ts +2 -0
  598. package/src/types/browser-nodes.ts +49 -1
  599. package/src/types/browser.ts +36 -0
  600. package/src/web/NativeAudioBrowser.ts +19 -24
  601. package/src/web/SimpleRouter.test.ts +160 -0
  602. package/src/web/SimpleRouter.ts +10 -8
  603. package/nitrogen/generated/android/c++/JFunc_void_RemoteLoadEvent.hpp +0 -89
  604. package/nitrogen/generated/ios/swift/Func_void_RemoteLoadEvent.swift +0 -47
  605. package/nitrogen/generated/ios/swift/RemoteLoadEvent.swift +0 -70
@@ -2,7 +2,7 @@
2
2
  /// NavigationError.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,11 @@
22
22
  #else
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
25
30
 
26
31
  // Forward declaration of `NavigationErrorType` to properly resolve imports.
27
32
  namespace margelo::nitro::audiobrowser { enum class NavigationErrorType; }
@@ -35,7 +40,7 @@ namespace margelo::nitro::audiobrowser {
35
40
  /**
36
41
  * A struct which can be represented as a JavaScript object (NavigationError).
37
42
  */
38
- struct NavigationError {
43
+ struct NavigationError final {
39
44
  public:
40
45
  NavigationErrorType code SWIFT_PRIVATE;
41
46
  std::string message SWIFT_PRIVATE;
@@ -45,6 +50,9 @@ namespace margelo::nitro::audiobrowser {
45
50
  public:
46
51
  NavigationError() = default;
47
52
  explicit NavigationError(NavigationErrorType code, std::string message, std::optional<double> statusCode, std::optional<bool> statusCodeSuccess): code(code), message(message), statusCode(statusCode), statusCodeSuccess(statusCodeSuccess) {}
53
+
54
+ public:
55
+ friend bool operator==(const NavigationError& lhs, const NavigationError& rhs) = default;
48
56
  };
49
57
 
50
58
  } // namespace margelo::nitro::audiobrowser
@@ -57,18 +65,18 @@ namespace margelo::nitro {
57
65
  static inline margelo::nitro::audiobrowser::NavigationError fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
58
66
  jsi::Object obj = arg.asObject(runtime);
59
67
  return margelo::nitro::audiobrowser::NavigationError(
60
- JSIConverter<margelo::nitro::audiobrowser::NavigationErrorType>::fromJSI(runtime, obj.getProperty(runtime, "code")),
61
- JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "message")),
62
- JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "statusCode")),
63
- JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "statusCodeSuccess"))
68
+ JSIConverter<margelo::nitro::audiobrowser::NavigationErrorType>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "code"))),
69
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "message"))),
70
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "statusCode"))),
71
+ JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "statusCodeSuccess")))
64
72
  );
65
73
  }
66
74
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::NavigationError& arg) {
67
75
  jsi::Object obj(runtime);
68
- obj.setProperty(runtime, "code", JSIConverter<margelo::nitro::audiobrowser::NavigationErrorType>::toJSI(runtime, arg.code));
69
- obj.setProperty(runtime, "message", JSIConverter<std::string>::toJSI(runtime, arg.message));
70
- obj.setProperty(runtime, "statusCode", JSIConverter<std::optional<double>>::toJSI(runtime, arg.statusCode));
71
- obj.setProperty(runtime, "statusCodeSuccess", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.statusCodeSuccess));
76
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "code"), JSIConverter<margelo::nitro::audiobrowser::NavigationErrorType>::toJSI(runtime, arg.code));
77
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "message"), JSIConverter<std::string>::toJSI(runtime, arg.message));
78
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "statusCode"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.statusCode));
79
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "statusCodeSuccess"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.statusCodeSuccess));
72
80
  return obj;
73
81
  }
74
82
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -79,10 +87,10 @@ namespace margelo::nitro {
79
87
  if (!nitro::isPlainObject(runtime, obj)) {
80
88
  return false;
81
89
  }
82
- if (!JSIConverter<margelo::nitro::audiobrowser::NavigationErrorType>::canConvert(runtime, obj.getProperty(runtime, "code"))) return false;
83
- if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "message"))) return false;
84
- if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "statusCode"))) return false;
85
- if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "statusCodeSuccess"))) return false;
90
+ if (!JSIConverter<margelo::nitro::audiobrowser::NavigationErrorType>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "code")))) return false;
91
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "message")))) return false;
92
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "statusCode")))) return false;
93
+ if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "statusCodeSuccess")))) return false;
86
94
  return true;
87
95
  }
88
96
  };
@@ -2,7 +2,7 @@
2
2
  /// NavigationErrorEvent.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,11 @@
22
22
  #else
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
25
30
 
26
31
  // Forward declaration of `NavigationError` to properly resolve imports.
27
32
  namespace margelo::nitro::audiobrowser { struct NavigationError; }
@@ -34,13 +39,16 @@ namespace margelo::nitro::audiobrowser {
34
39
  /**
35
40
  * A struct which can be represented as a JavaScript object (NavigationErrorEvent).
36
41
  */
37
- struct NavigationErrorEvent {
42
+ struct NavigationErrorEvent final {
38
43
  public:
39
44
  std::optional<NavigationError> error SWIFT_PRIVATE;
40
45
 
41
46
  public:
42
47
  NavigationErrorEvent() = default;
43
48
  explicit NavigationErrorEvent(std::optional<NavigationError> error): error(error) {}
49
+
50
+ public:
51
+ friend bool operator==(const NavigationErrorEvent& lhs, const NavigationErrorEvent& rhs) = default;
44
52
  };
45
53
 
46
54
  } // namespace margelo::nitro::audiobrowser
@@ -53,12 +61,12 @@ namespace margelo::nitro {
53
61
  static inline margelo::nitro::audiobrowser::NavigationErrorEvent fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
54
62
  jsi::Object obj = arg.asObject(runtime);
55
63
  return margelo::nitro::audiobrowser::NavigationErrorEvent(
56
- JSIConverter<std::optional<margelo::nitro::audiobrowser::NavigationError>>::fromJSI(runtime, obj.getProperty(runtime, "error"))
64
+ JSIConverter<std::optional<margelo::nitro::audiobrowser::NavigationError>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "error")))
57
65
  );
58
66
  }
59
67
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::NavigationErrorEvent& arg) {
60
68
  jsi::Object obj(runtime);
61
- obj.setProperty(runtime, "error", JSIConverter<std::optional<margelo::nitro::audiobrowser::NavigationError>>::toJSI(runtime, arg.error));
69
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "error"), JSIConverter<std::optional<margelo::nitro::audiobrowser::NavigationError>>::toJSI(runtime, arg.error));
62
70
  return obj;
63
71
  }
64
72
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -69,7 +77,7 @@ namespace margelo::nitro {
69
77
  if (!nitro::isPlainObject(runtime, obj)) {
70
78
  return false;
71
79
  }
72
- if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::NavigationError>>::canConvert(runtime, obj.getProperty(runtime, "error"))) return false;
80
+ if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::NavigationError>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "error")))) return false;
73
81
  return true;
74
82
  }
75
83
  };
@@ -2,7 +2,7 @@
2
2
  /// NavigationErrorType.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// NitroAndroidUpdateOptions.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,11 @@
22
22
  #else
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
25
30
 
26
31
  // Forward declaration of `AppKilledPlaybackBehavior` to properly resolve imports.
27
32
  namespace margelo::nitro::audiobrowser { enum class AppKilledPlaybackBehavior; }
@@ -42,7 +47,7 @@ namespace margelo::nitro::audiobrowser {
42
47
  /**
43
48
  * A struct which can be represented as a JavaScript object (NitroAndroidUpdateOptions).
44
49
  */
45
- struct NitroAndroidUpdateOptions {
50
+ struct NitroAndroidUpdateOptions final {
46
51
  public:
47
52
  std::optional<AppKilledPlaybackBehavior> appKilledPlaybackBehavior SWIFT_PRIVATE;
48
53
  std::optional<bool> skipSilence SWIFT_PRIVATE;
@@ -53,6 +58,9 @@ namespace margelo::nitro::audiobrowser {
53
58
  public:
54
59
  NitroAndroidUpdateOptions() = default;
55
60
  explicit NitroAndroidUpdateOptions(std::optional<AppKilledPlaybackBehavior> appKilledPlaybackBehavior, std::optional<bool> skipSilence, std::optional<bool> shuffle, std::optional<RatingType> ratingType, std::optional<std::variant<nitro::NullType, NotificationButtonLayout>> notificationButtons): appKilledPlaybackBehavior(appKilledPlaybackBehavior), skipSilence(skipSilence), shuffle(shuffle), ratingType(ratingType), notificationButtons(notificationButtons) {}
61
+
62
+ public:
63
+ friend bool operator==(const NitroAndroidUpdateOptions& lhs, const NitroAndroidUpdateOptions& rhs) = default;
56
64
  };
57
65
 
58
66
  } // namespace margelo::nitro::audiobrowser
@@ -65,20 +73,20 @@ namespace margelo::nitro {
65
73
  static inline margelo::nitro::audiobrowser::NitroAndroidUpdateOptions fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
66
74
  jsi::Object obj = arg.asObject(runtime);
67
75
  return margelo::nitro::audiobrowser::NitroAndroidUpdateOptions(
68
- JSIConverter<std::optional<margelo::nitro::audiobrowser::AppKilledPlaybackBehavior>>::fromJSI(runtime, obj.getProperty(runtime, "appKilledPlaybackBehavior")),
69
- JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "skipSilence")),
70
- JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "shuffle")),
71
- JSIConverter<std::optional<margelo::nitro::audiobrowser::RatingType>>::fromJSI(runtime, obj.getProperty(runtime, "ratingType")),
72
- JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::NotificationButtonLayout>>>::fromJSI(runtime, obj.getProperty(runtime, "notificationButtons"))
76
+ JSIConverter<std::optional<margelo::nitro::audiobrowser::AppKilledPlaybackBehavior>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "appKilledPlaybackBehavior"))),
77
+ JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "skipSilence"))),
78
+ JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "shuffle"))),
79
+ JSIConverter<std::optional<margelo::nitro::audiobrowser::RatingType>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "ratingType"))),
80
+ JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::NotificationButtonLayout>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "notificationButtons")))
73
81
  );
74
82
  }
75
83
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::NitroAndroidUpdateOptions& arg) {
76
84
  jsi::Object obj(runtime);
77
- obj.setProperty(runtime, "appKilledPlaybackBehavior", JSIConverter<std::optional<margelo::nitro::audiobrowser::AppKilledPlaybackBehavior>>::toJSI(runtime, arg.appKilledPlaybackBehavior));
78
- obj.setProperty(runtime, "skipSilence", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.skipSilence));
79
- obj.setProperty(runtime, "shuffle", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.shuffle));
80
- obj.setProperty(runtime, "ratingType", JSIConverter<std::optional<margelo::nitro::audiobrowser::RatingType>>::toJSI(runtime, arg.ratingType));
81
- obj.setProperty(runtime, "notificationButtons", JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::NotificationButtonLayout>>>::toJSI(runtime, arg.notificationButtons));
85
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "appKilledPlaybackBehavior"), JSIConverter<std::optional<margelo::nitro::audiobrowser::AppKilledPlaybackBehavior>>::toJSI(runtime, arg.appKilledPlaybackBehavior));
86
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "skipSilence"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.skipSilence));
87
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "shuffle"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.shuffle));
88
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "ratingType"), JSIConverter<std::optional<margelo::nitro::audiobrowser::RatingType>>::toJSI(runtime, arg.ratingType));
89
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "notificationButtons"), JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::NotificationButtonLayout>>>::toJSI(runtime, arg.notificationButtons));
82
90
  return obj;
83
91
  }
84
92
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -89,11 +97,11 @@ namespace margelo::nitro {
89
97
  if (!nitro::isPlainObject(runtime, obj)) {
90
98
  return false;
91
99
  }
92
- if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::AppKilledPlaybackBehavior>>::canConvert(runtime, obj.getProperty(runtime, "appKilledPlaybackBehavior"))) return false;
93
- if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "skipSilence"))) return false;
94
- if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "shuffle"))) return false;
95
- if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::RatingType>>::canConvert(runtime, obj.getProperty(runtime, "ratingType"))) return false;
96
- if (!JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::NotificationButtonLayout>>>::canConvert(runtime, obj.getProperty(runtime, "notificationButtons"))) return false;
100
+ if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::AppKilledPlaybackBehavior>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "appKilledPlaybackBehavior")))) return false;
101
+ if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "skipSilence")))) return false;
102
+ if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "shuffle")))) return false;
103
+ if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::RatingType>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "ratingType")))) return false;
104
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::audiobrowser::NotificationButtonLayout>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "notificationButtons")))) return false;
97
105
  return true;
98
106
  }
99
107
  };
@@ -2,7 +2,7 @@
2
2
  /// NotificationButton.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// NotificationButtonLayout.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,11 @@
22
22
  #else
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
25
30
 
26
31
  // Forward declaration of `NotificationButton` to properly resolve imports.
27
32
  namespace margelo::nitro::audiobrowser { enum class NotificationButton; }
@@ -35,7 +40,7 @@ namespace margelo::nitro::audiobrowser {
35
40
  /**
36
41
  * A struct which can be represented as a JavaScript object (NotificationButtonLayout).
37
42
  */
38
- struct NotificationButtonLayout {
43
+ struct NotificationButtonLayout final {
39
44
  public:
40
45
  std::optional<NotificationButton> back SWIFT_PRIVATE;
41
46
  std::optional<NotificationButton> forward SWIFT_PRIVATE;
@@ -46,6 +51,9 @@ namespace margelo::nitro::audiobrowser {
46
51
  public:
47
52
  NotificationButtonLayout() = default;
48
53
  explicit NotificationButtonLayout(std::optional<NotificationButton> back, std::optional<NotificationButton> forward, std::optional<NotificationButton> backSecondary, std::optional<NotificationButton> forwardSecondary, std::optional<std::vector<NotificationButton>> overflow): back(back), forward(forward), backSecondary(backSecondary), forwardSecondary(forwardSecondary), overflow(overflow) {}
54
+
55
+ public:
56
+ friend bool operator==(const NotificationButtonLayout& lhs, const NotificationButtonLayout& rhs) = default;
49
57
  };
50
58
 
51
59
  } // namespace margelo::nitro::audiobrowser
@@ -58,20 +66,20 @@ namespace margelo::nitro {
58
66
  static inline margelo::nitro::audiobrowser::NotificationButtonLayout fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
59
67
  jsi::Object obj = arg.asObject(runtime);
60
68
  return margelo::nitro::audiobrowser::NotificationButtonLayout(
61
- JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::fromJSI(runtime, obj.getProperty(runtime, "back")),
62
- JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::fromJSI(runtime, obj.getProperty(runtime, "forward")),
63
- JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::fromJSI(runtime, obj.getProperty(runtime, "backSecondary")),
64
- JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::fromJSI(runtime, obj.getProperty(runtime, "forwardSecondary")),
65
- JSIConverter<std::optional<std::vector<margelo::nitro::audiobrowser::NotificationButton>>>::fromJSI(runtime, obj.getProperty(runtime, "overflow"))
69
+ JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "back"))),
70
+ JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "forward"))),
71
+ JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "backSecondary"))),
72
+ JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "forwardSecondary"))),
73
+ JSIConverter<std::optional<std::vector<margelo::nitro::audiobrowser::NotificationButton>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "overflow")))
66
74
  );
67
75
  }
68
76
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::NotificationButtonLayout& arg) {
69
77
  jsi::Object obj(runtime);
70
- obj.setProperty(runtime, "back", JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::toJSI(runtime, arg.back));
71
- obj.setProperty(runtime, "forward", JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::toJSI(runtime, arg.forward));
72
- obj.setProperty(runtime, "backSecondary", JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::toJSI(runtime, arg.backSecondary));
73
- obj.setProperty(runtime, "forwardSecondary", JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::toJSI(runtime, arg.forwardSecondary));
74
- obj.setProperty(runtime, "overflow", JSIConverter<std::optional<std::vector<margelo::nitro::audiobrowser::NotificationButton>>>::toJSI(runtime, arg.overflow));
78
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "back"), JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::toJSI(runtime, arg.back));
79
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "forward"), JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::toJSI(runtime, arg.forward));
80
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "backSecondary"), JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::toJSI(runtime, arg.backSecondary));
81
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "forwardSecondary"), JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::toJSI(runtime, arg.forwardSecondary));
82
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "overflow"), JSIConverter<std::optional<std::vector<margelo::nitro::audiobrowser::NotificationButton>>>::toJSI(runtime, arg.overflow));
75
83
  return obj;
76
84
  }
77
85
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -82,11 +90,11 @@ namespace margelo::nitro {
82
90
  if (!nitro::isPlainObject(runtime, obj)) {
83
91
  return false;
84
92
  }
85
- if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::canConvert(runtime, obj.getProperty(runtime, "back"))) return false;
86
- if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::canConvert(runtime, obj.getProperty(runtime, "forward"))) return false;
87
- if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::canConvert(runtime, obj.getProperty(runtime, "backSecondary"))) return false;
88
- if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::canConvert(runtime, obj.getProperty(runtime, "forwardSecondary"))) return false;
89
- if (!JSIConverter<std::optional<std::vector<margelo::nitro::audiobrowser::NotificationButton>>>::canConvert(runtime, obj.getProperty(runtime, "overflow"))) return false;
93
+ if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "back")))) return false;
94
+ if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "forward")))) return false;
95
+ if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "backSecondary")))) return false;
96
+ if (!JSIConverter<std::optional<margelo::nitro::audiobrowser::NotificationButton>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "forwardSecondary")))) return false;
97
+ if (!JSIConverter<std::optional<std::vector<margelo::nitro::audiobrowser::NotificationButton>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "overflow")))) return false;
90
98
  return true;
91
99
  }
92
100
  };
@@ -2,7 +2,7 @@
2
2
  /// NowPlayingMetadata.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,11 @@
22
22
  #else
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
25
30
 
26
31
  // Forward declaration of `HeartRating` to properly resolve imports.
27
32
  namespace margelo::nitro::audiobrowser { struct HeartRating; }
@@ -45,7 +50,7 @@ namespace margelo::nitro::audiobrowser {
45
50
  /**
46
51
  * A struct which can be represented as a JavaScript object (NowPlayingMetadata).
47
52
  */
48
- struct NowPlayingMetadata {
53
+ struct NowPlayingMetadata final {
49
54
  public:
50
55
  std::optional<double> elapsedTime SWIFT_PRIVATE;
51
56
  std::optional<std::string> title SWIFT_PRIVATE;
@@ -61,6 +66,9 @@ namespace margelo::nitro::audiobrowser {
61
66
  public:
62
67
  NowPlayingMetadata() = default;
63
68
  explicit NowPlayingMetadata(std::optional<double> elapsedTime, std::optional<std::string> title, std::optional<std::string> album, std::optional<std::string> artist, std::optional<double> duration, std::optional<std::string> artwork, std::optional<std::string> description, std::optional<std::string> mediaId, std::optional<std::string> genre, std::optional<std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating>> rating): elapsedTime(elapsedTime), title(title), album(album), artist(artist), duration(duration), artwork(artwork), description(description), mediaId(mediaId), genre(genre), rating(rating) {}
69
+
70
+ public:
71
+ friend bool operator==(const NowPlayingMetadata& lhs, const NowPlayingMetadata& rhs) = default;
64
72
  };
65
73
 
66
74
  } // namespace margelo::nitro::audiobrowser
@@ -73,30 +81,30 @@ namespace margelo::nitro {
73
81
  static inline margelo::nitro::audiobrowser::NowPlayingMetadata fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
74
82
  jsi::Object obj = arg.asObject(runtime);
75
83
  return margelo::nitro::audiobrowser::NowPlayingMetadata(
76
- JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "elapsedTime")),
77
- JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "title")),
78
- JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "album")),
79
- JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "artist")),
80
- JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "duration")),
81
- JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "artwork")),
82
- JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "description")),
83
- JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "mediaId")),
84
- JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "genre")),
85
- JSIConverter<std::optional<std::variant<margelo::nitro::audiobrowser::HeartRating, margelo::nitro::audiobrowser::ThumbsRating, margelo::nitro::audiobrowser::StarRating, margelo::nitro::audiobrowser::PercentageRating>>>::fromJSI(runtime, obj.getProperty(runtime, "rating"))
84
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "elapsedTime"))),
85
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "title"))),
86
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "album"))),
87
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "artist"))),
88
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "duration"))),
89
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "artwork"))),
90
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "description"))),
91
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "mediaId"))),
92
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "genre"))),
93
+ JSIConverter<std::optional<std::variant<margelo::nitro::audiobrowser::HeartRating, margelo::nitro::audiobrowser::ThumbsRating, margelo::nitro::audiobrowser::StarRating, margelo::nitro::audiobrowser::PercentageRating>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "rating")))
86
94
  );
87
95
  }
88
96
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::NowPlayingMetadata& arg) {
89
97
  jsi::Object obj(runtime);
90
- obj.setProperty(runtime, "elapsedTime", JSIConverter<std::optional<double>>::toJSI(runtime, arg.elapsedTime));
91
- obj.setProperty(runtime, "title", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.title));
92
- obj.setProperty(runtime, "album", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.album));
93
- obj.setProperty(runtime, "artist", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.artist));
94
- obj.setProperty(runtime, "duration", JSIConverter<std::optional<double>>::toJSI(runtime, arg.duration));
95
- obj.setProperty(runtime, "artwork", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.artwork));
96
- obj.setProperty(runtime, "description", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.description));
97
- obj.setProperty(runtime, "mediaId", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.mediaId));
98
- obj.setProperty(runtime, "genre", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.genre));
99
- obj.setProperty(runtime, "rating", JSIConverter<std::optional<std::variant<margelo::nitro::audiobrowser::HeartRating, margelo::nitro::audiobrowser::ThumbsRating, margelo::nitro::audiobrowser::StarRating, margelo::nitro::audiobrowser::PercentageRating>>>::toJSI(runtime, arg.rating));
98
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "elapsedTime"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.elapsedTime));
99
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "title"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.title));
100
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "album"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.album));
101
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "artist"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.artist));
102
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "duration"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.duration));
103
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "artwork"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.artwork));
104
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "description"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.description));
105
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "mediaId"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.mediaId));
106
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "genre"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.genre));
107
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "rating"), JSIConverter<std::optional<std::variant<margelo::nitro::audiobrowser::HeartRating, margelo::nitro::audiobrowser::ThumbsRating, margelo::nitro::audiobrowser::StarRating, margelo::nitro::audiobrowser::PercentageRating>>>::toJSI(runtime, arg.rating));
100
108
  return obj;
101
109
  }
102
110
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -107,16 +115,16 @@ namespace margelo::nitro {
107
115
  if (!nitro::isPlainObject(runtime, obj)) {
108
116
  return false;
109
117
  }
110
- if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "elapsedTime"))) return false;
111
- if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "title"))) return false;
112
- if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "album"))) return false;
113
- if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "artist"))) return false;
114
- if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "duration"))) return false;
115
- if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "artwork"))) return false;
116
- if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "description"))) return false;
117
- if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "mediaId"))) return false;
118
- if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "genre"))) return false;
119
- if (!JSIConverter<std::optional<std::variant<margelo::nitro::audiobrowser::HeartRating, margelo::nitro::audiobrowser::ThumbsRating, margelo::nitro::audiobrowser::StarRating, margelo::nitro::audiobrowser::PercentageRating>>>::canConvert(runtime, obj.getProperty(runtime, "rating"))) return false;
118
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "elapsedTime")))) return false;
119
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "title")))) return false;
120
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "album")))) return false;
121
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "artist")))) return false;
122
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "duration")))) return false;
123
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "artwork")))) return false;
124
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "description")))) return false;
125
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "mediaId")))) return false;
126
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "genre")))) return false;
127
+ if (!JSIConverter<std::optional<std::variant<margelo::nitro::audiobrowser::HeartRating, margelo::nitro::audiobrowser::ThumbsRating, margelo::nitro::audiobrowser::StarRating, margelo::nitro::audiobrowser::PercentageRating>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "rating")))) return false;
120
128
  return true;
121
129
  }
122
130
  };
@@ -2,7 +2,7 @@
2
2
  /// NowPlayingUpdate.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,11 @@
22
22
  #else
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
25
30
 
26
31
 
27
32
 
@@ -33,7 +38,7 @@ namespace margelo::nitro::audiobrowser {
33
38
  /**
34
39
  * A struct which can be represented as a JavaScript object (NowPlayingUpdate).
35
40
  */
36
- struct NowPlayingUpdate {
41
+ struct NowPlayingUpdate final {
37
42
  public:
38
43
  std::optional<std::string> title SWIFT_PRIVATE;
39
44
  std::optional<std::string> artist SWIFT_PRIVATE;
@@ -41,6 +46,9 @@ namespace margelo::nitro::audiobrowser {
41
46
  public:
42
47
  NowPlayingUpdate() = default;
43
48
  explicit NowPlayingUpdate(std::optional<std::string> title, std::optional<std::string> artist): title(title), artist(artist) {}
49
+
50
+ public:
51
+ friend bool operator==(const NowPlayingUpdate& lhs, const NowPlayingUpdate& rhs) = default;
44
52
  };
45
53
 
46
54
  } // namespace margelo::nitro::audiobrowser
@@ -53,14 +61,14 @@ namespace margelo::nitro {
53
61
  static inline margelo::nitro::audiobrowser::NowPlayingUpdate fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
54
62
  jsi::Object obj = arg.asObject(runtime);
55
63
  return margelo::nitro::audiobrowser::NowPlayingUpdate(
56
- JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "title")),
57
- JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "artist"))
64
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "title"))),
65
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "artist")))
58
66
  );
59
67
  }
60
68
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::NowPlayingUpdate& arg) {
61
69
  jsi::Object obj(runtime);
62
- obj.setProperty(runtime, "title", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.title));
63
- obj.setProperty(runtime, "artist", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.artist));
70
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "title"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.title));
71
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "artist"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.artist));
64
72
  return obj;
65
73
  }
66
74
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -71,8 +79,8 @@ namespace margelo::nitro {
71
79
  if (!nitro::isPlainObject(runtime, obj)) {
72
80
  return false;
73
81
  }
74
- if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "title"))) return false;
75
- if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "artist"))) return false;
82
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "title")))) return false;
83
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "artist")))) return false;
76
84
  return true;
77
85
  }
78
86
  };