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