react-native-audio-browser 0.2.0-next.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (973) hide show
  1. package/AudioBrowser.podspec +1 -1
  2. package/README.md +2 -180
  3. package/android/build.gradle +1 -17
  4. package/android/gradle.properties +1 -1
  5. package/android/src/main/AndroidManifest.xml +0 -15
  6. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +141 -401
  7. package/android/src/main/java/com/audiobrowser/Callbacks.kt +6 -4
  8. package/android/src/main/java/com/audiobrowser/Service.kt +18 -67
  9. package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +178 -442
  10. package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +4 -41
  11. package/android/src/main/java/com/audiobrowser/browser/TrackLoadHandler.kt +4 -4
  12. package/android/src/main/java/com/audiobrowser/http/RequestConfigBuilder.kt +97 -109
  13. package/android/src/main/java/com/audiobrowser/model/PlaybackMetadata.kt +10 -6
  14. package/android/src/main/java/com/audiobrowser/model/PlayerSetupOptions.kt +8 -40
  15. package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +46 -40
  16. package/android/src/main/java/com/audiobrowser/player/AutomaticBufferManager.kt +1 -4
  17. package/android/src/main/java/com/audiobrowser/player/DynamicLoadControl.kt +1 -18
  18. package/android/src/main/java/com/audiobrowser/player/MediaFactory.kt +3 -15
  19. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +134 -422
  20. package/android/src/main/java/com/audiobrowser/player/MediaSessionCommandManager.kt +404 -248
  21. package/android/src/main/java/com/audiobrowser/player/PlaybackProgressUpdateManager.kt +59 -0
  22. package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +5 -25
  23. package/android/src/main/java/com/audiobrowser/player/Player.kt +582 -469
  24. package/android/src/main/java/com/audiobrowser/player/PlayerListener.kt +67 -190
  25. package/android/src/main/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicy.kt +53 -118
  26. package/android/src/main/java/com/audiobrowser/player/SleepTimer.kt +3 -37
  27. package/android/src/main/java/com/audiobrowser/player/TransformingDataSource.kt +40 -85
  28. package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +0 -24
  29. package/android/src/main/java/com/audiobrowser/util/CoilBitmapLoader.kt +300 -23
  30. package/android/src/main/java/com/audiobrowser/util/EqualizerManager.kt +23 -13
  31. package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +2 -2
  32. package/android/src/main/java/com/audiobrowser/util/MetadataAdapter.kt +3 -4
  33. package/android/src/main/java/com/audiobrowser/util/PlayingStateFactory.kt +1 -2
  34. package/android/src/main/java/com/audiobrowser/util/RatingFactory.kt +72 -0
  35. package/android/src/main/java/com/audiobrowser/util/ResolvedTrackFactory.kt +36 -0
  36. package/android/src/main/java/com/audiobrowser/util/SvgArtworkRenderer.kt +111 -6
  37. package/android/src/main/java/com/audiobrowser/util/SystemVolumeMonitor.kt +8 -22
  38. package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +80 -112
  39. package/android/src/main/res/values/strings.xml +0 -4
  40. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +0 -4
  41. package/android/src/test/java/com/audiobrowser/browser/SimpleRouterTest.kt +2 -1
  42. package/android/src/test/java/com/audiobrowser/http/RequestConfigBuilderTest.kt +0 -72
  43. package/android/src/test/java/com/audiobrowser/player/PlaybackProgressUpdateManagerTest.kt +146 -0
  44. package/ios/Browser/BrowserConfig.swift +11 -41
  45. package/ios/Browser/BrowserManager+URLResolution.swift +93 -213
  46. package/ios/Browser/BrowserManager.swift +110 -303
  47. package/ios/Browser/BrowserPathHelper.swift +3 -32
  48. package/ios/Browser/JsonModels.swift +66 -287
  49. package/ios/CarPlay/CarPlayArtworkResolver.swift +6 -6
  50. package/ios/CarPlay/CarPlayController.swift +149 -739
  51. package/ios/CarPlay/CarPlayImageLoader.swift +8 -57
  52. package/ios/CarPlay/CarPlayListItemFactory.swift +35 -44
  53. package/ios/CarPlay/CarPlayNowPlayingManager.swift +36 -180
  54. package/ios/CarPlay/RNABAudioBrowser.h +10 -15
  55. package/ios/CarPlay/RNABAudioBrowser.m +14 -15
  56. package/ios/CarPlay/RNABCarPlaySceneDelegate.m +0 -2
  57. package/ios/CarPlay/RNABMediaIntentHandler.swift +43 -53
  58. package/ios/CarPlay/Track+CarPlay.swift +63 -0
  59. package/ios/Extension/Capability+RemoteCommand.swift +9 -7
  60. package/ios/Extension/ChapterMetadata+AVFoundation.swift +1 -1
  61. package/ios/Extension/NavigationError+Conversion.swift +1 -8
  62. package/ios/Extension/ResolvedTrack+Copying.swift +4 -10
  63. package/ios/Extension/TimedMetadata+AVFoundation.swift +1 -1
  64. package/ios/Extension/Track+AVPlayer.swift +4 -4
  65. package/ios/Extension/Track+Copying.swift +3 -9
  66. package/ios/Extension/TrackMetadata+AVFoundation.swift +1 -1
  67. package/ios/HybridAudioBrowser.swift +173 -751
  68. package/ios/Model/NitroTypeStubs.swift +224 -299
  69. package/ios/Model/PlayerUpdateOptions.swift +23 -23
  70. package/ios/Model/RemoteCommand.swift +6 -24
  71. package/ios/Model/TrackPlayerError.swift +18 -82
  72. package/ios/NowPlayingInfo/NowPlayingInfoCenter.swift +9 -0
  73. package/ios/NowPlayingInfo/NowPlayingInfoController.swift +121 -99
  74. package/ios/Observer/PlayerItemNotificationObserver.swift +5 -45
  75. package/ios/Observer/PlayerItemPropertyObserver.swift +4 -27
  76. package/ios/Observer/PlayerTimeObserver.swift +53 -3
  77. package/ios/Option/SessionCategories.swift +11 -34
  78. package/ios/Player/LoadSeekCoordinator.swift +1 -16
  79. package/ios/Player/MediaLoader.swift +11 -31
  80. package/ios/Player/NowPlayingUpdater.swift +26 -119
  81. package/ios/Player/PlaybackCoordinator.swift +51 -285
  82. package/ios/Player/PlaybackCoordinatorCallbacks.swift +1 -6
  83. package/ios/Player/PlaybackEffectHandler.swift +9 -19
  84. package/ios/Player/PlaybackErrorHandler.swift +13 -97
  85. package/ios/Player/PlaybackProgressUpdateManager.swift +68 -0
  86. package/ios/Player/PlaybackStateMachine.swift +13 -18
  87. package/ios/Player/PlayingStateManager.swift +2 -3
  88. package/ios/Player/QueueManager.swift +61 -67
  89. package/ios/Player/RetryManager.swift +21 -98
  90. package/ios/Player/SleepTimerHandling.swift +0 -8
  91. package/ios/Player/SleepTimerManager.swift +11 -72
  92. package/ios/RemoteCommand/RemoteCommandController.swift +21 -40
  93. package/ios/Tests/BrowserPathHelperTests.swift +0 -28
  94. package/ios/Tests/CarPlayArtworkResolverTests.swift +39 -39
  95. package/ios/Tests/ChapterMetadataAVFoundationTests.swift +2 -2
  96. package/ios/Tests/LoadSeekCoordinatorTests.swift +7 -40
  97. package/ios/Tests/MediaLoaderTests.swift +20 -32
  98. package/ios/Tests/PlaybackCoordinatorTests.swift +13 -787
  99. package/ios/Tests/PlaybackErrorHandlerTests.swift +46 -380
  100. package/ios/Tests/PlaybackProgressUpdateManagerTests.swift +166 -0
  101. package/ios/Tests/PlaybackStateMachineTests.swift +8 -33
  102. package/ios/Tests/QueueManagerTests.swift +18 -149
  103. package/ios/Tests/ResolvedTrackCopyingTests.swift +8 -15
  104. package/ios/Tests/Support/TestTypes.swift +20 -61
  105. package/ios/Tests/TrackSelectorTests.swift +15 -15
  106. package/ios/TrackPlayer.swift +58 -380
  107. package/ios/TrackPlayerCallbacks.swift +44 -5
  108. package/ios/TrackSelector.swift +5 -5
  109. package/ios/Util/ArtworkImageFetcher.swift +2 -4
  110. package/ios/Util/NetworkMonitor.swift +3 -7
  111. package/ios/Util/OnceValue.swift +0 -34
  112. package/lib/commonjs/AudioBrowser.js +11 -0
  113. package/lib/commonjs/AudioBrowser.js.map +1 -1
  114. package/lib/commonjs/features/browser.js +158 -59
  115. package/lib/commonjs/features/browser.js.map +1 -1
  116. package/lib/commonjs/features/equalizer.js +1 -1
  117. package/lib/commonjs/features/errors.js +5 -37
  118. package/lib/commonjs/features/errors.js.map +1 -1
  119. package/lib/commonjs/features/favorites.js +1 -1
  120. package/lib/commonjs/features/index.js +0 -22
  121. package/lib/commonjs/features/index.js.map +1 -1
  122. package/lib/commonjs/features/metadata.js +3 -3
  123. package/lib/commonjs/features/metadata.js.map +1 -1
  124. package/lib/commonjs/features/network.js +1 -1
  125. package/lib/commonjs/features/nowPlaying.js +1 -36
  126. package/lib/commonjs/features/nowPlaying.js.map +1 -1
  127. package/lib/commonjs/features/output.js +23 -37
  128. package/lib/commonjs/features/output.js.map +1 -1
  129. package/lib/commonjs/features/playback/controls.js +0 -9
  130. package/lib/commonjs/features/playback/controls.js.map +1 -1
  131. package/lib/commonjs/features/playback/index.js +0 -11
  132. package/lib/commonjs/features/playback/index.js.map +1 -1
  133. package/lib/commonjs/features/playback/playWhenReady.js +1 -1
  134. package/lib/commonjs/features/playback/playing.js +1 -1
  135. package/lib/commonjs/features/playback/progress.js +13 -29
  136. package/lib/commonjs/features/playback/progress.js.map +1 -1
  137. package/lib/commonjs/features/playback/state.js +1 -1
  138. package/lib/commonjs/features/playback/volume.js +2 -2
  139. package/lib/commonjs/features/player/options.js +29 -79
  140. package/lib/commonjs/features/player/options.js.map +1 -1
  141. package/lib/commonjs/features/player/setup.js +3 -256
  142. package/lib/commonjs/features/player/setup.js.map +1 -1
  143. package/lib/commonjs/features/queue/activeTrack.js +1 -1
  144. package/lib/commonjs/features/queue/queue.js +5 -12
  145. package/lib/commonjs/features/queue/queue.js.map +1 -1
  146. package/lib/commonjs/features/queue/repeatMode.js +1 -1
  147. package/lib/commonjs/features/queue/shuffle.js +1 -1
  148. package/lib/commonjs/features/rating.js +2 -0
  149. package/lib/commonjs/features/rating.js.map +1 -0
  150. package/lib/commonjs/features/remoteControls.js +104 -14
  151. package/lib/commonjs/features/remoteControls.js.map +1 -1
  152. package/lib/commonjs/features/sleepTimer.js +5 -10
  153. package/lib/commonjs/features/sleepTimer.js.map +1 -1
  154. package/lib/commonjs/native.js +0 -5
  155. package/lib/commonjs/native.js.map +1 -1
  156. package/lib/commonjs/native.web.js +1 -4
  157. package/lib/commonjs/native.web.js.map +1 -1
  158. package/lib/commonjs/types/player.js +2 -0
  159. package/lib/commonjs/types/player.js.map +1 -0
  160. package/lib/commonjs/utils/LazyNativeEmitter.js +8 -8
  161. package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
  162. package/lib/commonjs/utils/NativeUpdatedValue.js +3 -0
  163. package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -1
  164. package/lib/commonjs/web/NativeAudioBrowser.js +124 -301
  165. package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
  166. package/lib/commonjs/web/SimpleRouter.test.js +174 -0
  167. package/lib/commonjs/web/SimpleRouter.test.js.map +1 -0
  168. package/lib/commonjs/web/TrackPlayer/Player.js +26 -90
  169. package/lib/commonjs/web/TrackPlayer/Player.js.map +1 -1
  170. package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js +293 -0
  171. package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js.map +1 -0
  172. package/lib/commonjs/web/TrackPlayer/RepeatMode.js +1 -1
  173. package/lib/commonjs/web/TrackPlayer/RepeatMode.js.map +1 -1
  174. package/lib/commonjs/web/TrackPlayer/SleepTimer.js +3 -34
  175. package/lib/commonjs/web/TrackPlayer/SleepTimer.js.map +1 -1
  176. package/lib/commonjs/web/TrackPlayer/index.js +5 -13
  177. package/lib/commonjs/web/TrackPlayer/index.js.map +1 -1
  178. package/lib/commonjs/web/browser/BrowserManager.js +50 -176
  179. package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
  180. package/lib/commonjs/web/browser/NavigationErrorManager.js +1 -3
  181. package/lib/commonjs/web/browser/NavigationErrorManager.js.map +1 -1
  182. package/lib/commonjs/web/browser/SearchManager.js +9 -11
  183. package/lib/commonjs/web/browser/SearchManager.js.map +1 -1
  184. package/lib/commonjs/web/http/HttpClient.js +23 -4
  185. package/lib/commonjs/web/http/HttpClient.js.map +1 -1
  186. package/lib/commonjs/web/http/RequestConfigBuilder.js +58 -107
  187. package/lib/commonjs/web/http/RequestConfigBuilder.js.map +1 -1
  188. package/lib/commonjs/web/player/NowPlayingManager.js +5 -6
  189. package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
  190. package/lib/commonjs/web/player/OptionsManager.js +17 -9
  191. package/lib/commonjs/web/player/OptionsManager.js.map +1 -1
  192. package/lib/module/AudioBrowser.js +1 -4
  193. package/lib/module/AudioBrowser.js.map +1 -1
  194. package/lib/module/features/browser.js +156 -53
  195. package/lib/module/features/browser.js.map +1 -1
  196. package/lib/module/features/equalizer.js +1 -1
  197. package/lib/module/features/errors.js +5 -37
  198. package/lib/module/features/errors.js.map +1 -1
  199. package/lib/module/features/favorites.js +1 -1
  200. package/lib/module/features/index.js +0 -2
  201. package/lib/module/features/index.js.map +1 -1
  202. package/lib/module/features/metadata.js +3 -3
  203. package/lib/module/features/metadata.js.map +1 -1
  204. package/lib/module/features/network.js +1 -1
  205. package/lib/module/features/nowPlaying.js +1 -34
  206. package/lib/module/features/nowPlaying.js.map +1 -1
  207. package/lib/module/features/output.js +19 -32
  208. package/lib/module/features/output.js.map +1 -1
  209. package/lib/module/features/playback/controls.js +0 -8
  210. package/lib/module/features/playback/controls.js.map +1 -1
  211. package/lib/module/features/playback/index.js +0 -1
  212. package/lib/module/features/playback/index.js.map +1 -1
  213. package/lib/module/features/playback/playWhenReady.js +1 -1
  214. package/lib/module/features/playback/playing.js +1 -1
  215. package/lib/module/features/playback/progress.js +13 -29
  216. package/lib/module/features/playback/progress.js.map +1 -1
  217. package/lib/module/features/playback/state.js +1 -1
  218. package/lib/module/features/playback/volume.js +2 -2
  219. package/lib/module/features/player/options.js +29 -79
  220. package/lib/module/features/player/options.js.map +1 -1
  221. package/lib/module/features/player/setup.js +3 -256
  222. package/lib/module/features/player/setup.js.map +1 -1
  223. package/lib/module/features/queue/activeTrack.js +1 -1
  224. package/lib/module/features/queue/queue.js +5 -12
  225. package/lib/module/features/queue/queue.js.map +1 -1
  226. package/lib/module/features/queue/repeatMode.js +1 -1
  227. package/lib/module/features/queue/shuffle.js +1 -1
  228. package/lib/module/features/rating.js +2 -0
  229. package/lib/module/features/rating.js.map +1 -0
  230. package/lib/module/features/remoteControls.js +103 -13
  231. package/lib/module/features/remoteControls.js.map +1 -1
  232. package/lib/module/features/sleepTimer.js +5 -10
  233. package/lib/module/features/sleepTimer.js.map +1 -1
  234. package/lib/module/native.js +0 -5
  235. package/lib/module/native.js.map +1 -1
  236. package/lib/module/native.web.js +1 -4
  237. package/lib/module/native.web.js.map +1 -1
  238. package/lib/module/types/player.js +2 -0
  239. package/lib/module/types/player.js.map +1 -0
  240. package/lib/module/utils/LazyNativeEmitter.js +8 -8
  241. package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
  242. package/lib/module/utils/NativeUpdatedValue.js +3 -0
  243. package/lib/module/utils/NativeUpdatedValue.js.map +1 -1
  244. package/lib/module/web/NativeAudioBrowser.js +125 -302
  245. package/lib/module/web/NativeAudioBrowser.js.map +1 -1
  246. package/lib/module/web/SimpleRouter.test.js +174 -0
  247. package/lib/module/web/SimpleRouter.test.js.map +1 -0
  248. package/lib/module/web/TrackPlayer/Player.js +26 -90
  249. package/lib/module/web/TrackPlayer/Player.js.map +1 -1
  250. package/lib/module/web/TrackPlayer/PlaylistPlayer.js +288 -0
  251. package/lib/module/web/TrackPlayer/PlaylistPlayer.js.map +1 -0
  252. package/lib/module/web/TrackPlayer/RepeatMode.js +1 -1
  253. package/lib/module/web/TrackPlayer/RepeatMode.js.map +1 -1
  254. package/lib/module/web/TrackPlayer/SleepTimer.js +3 -34
  255. package/lib/module/web/TrackPlayer/SleepTimer.js.map +1 -1
  256. package/lib/module/web/TrackPlayer/index.js +1 -2
  257. package/lib/module/web/TrackPlayer/index.js.map +1 -1
  258. package/lib/module/web/browser/BrowserManager.js +50 -176
  259. package/lib/module/web/browser/BrowserManager.js.map +1 -1
  260. package/lib/module/web/browser/NavigationErrorManager.js +1 -3
  261. package/lib/module/web/browser/NavigationErrorManager.js.map +1 -1
  262. package/lib/module/web/browser/SearchManager.js +9 -11
  263. package/lib/module/web/browser/SearchManager.js.map +1 -1
  264. package/lib/module/web/http/HttpClient.js +23 -4
  265. package/lib/module/web/http/HttpClient.js.map +1 -1
  266. package/lib/module/web/http/RequestConfigBuilder.js +58 -107
  267. package/lib/module/web/http/RequestConfigBuilder.js.map +1 -1
  268. package/lib/module/web/player/NowPlayingManager.js +5 -7
  269. package/lib/module/web/player/NowPlayingManager.js.map +1 -1
  270. package/lib/module/web/player/OptionsManager.js +17 -9
  271. package/lib/module/web/player/OptionsManager.js.map +1 -1
  272. package/lib/typescript/src/AudioBrowser.d.ts +1 -0
  273. package/lib/typescript/src/AudioBrowser.d.ts.map +1 -1
  274. package/lib/typescript/src/features/browser.d.ts +1 -40
  275. package/lib/typescript/src/features/browser.d.ts.map +1 -1
  276. package/lib/typescript/src/features/equalizer.d.ts +1 -1
  277. package/lib/typescript/src/features/errors.d.ts +6 -61
  278. package/lib/typescript/src/features/errors.d.ts.map +1 -1
  279. package/lib/typescript/src/features/favorites.d.ts +1 -1
  280. package/lib/typescript/src/features/index.d.ts +0 -2
  281. package/lib/typescript/src/features/index.d.ts.map +1 -1
  282. package/lib/typescript/src/features/metadata.d.ts +7 -9
  283. package/lib/typescript/src/features/metadata.d.ts.map +1 -1
  284. package/lib/typescript/src/features/network.d.ts +1 -1
  285. package/lib/typescript/src/features/nowPlaying.d.ts +1 -28
  286. package/lib/typescript/src/features/nowPlaying.d.ts.map +1 -1
  287. package/lib/typescript/src/features/output.d.ts +18 -28
  288. package/lib/typescript/src/features/output.d.ts.map +1 -1
  289. package/lib/typescript/src/features/playback/controls.d.ts +0 -5
  290. package/lib/typescript/src/features/playback/controls.d.ts.map +1 -1
  291. package/lib/typescript/src/features/playback/index.d.ts +0 -1
  292. package/lib/typescript/src/features/playback/index.d.ts.map +1 -1
  293. package/lib/typescript/src/features/playback/playWhenReady.d.ts +1 -1
  294. package/lib/typescript/src/features/playback/playing.d.ts +1 -1
  295. package/lib/typescript/src/features/playback/progress.d.ts +1 -4
  296. package/lib/typescript/src/features/playback/progress.d.ts.map +1 -1
  297. package/lib/typescript/src/features/playback/state.d.ts +1 -1
  298. package/lib/typescript/src/features/playback/volume.d.ts +2 -2
  299. package/lib/typescript/src/features/player/options.d.ts +127 -176
  300. package/lib/typescript/src/features/player/options.d.ts.map +1 -1
  301. package/lib/typescript/src/features/player/setup.d.ts +167 -213
  302. package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
  303. package/lib/typescript/src/features/queue/activeTrack.d.ts +1 -1
  304. package/lib/typescript/src/features/queue/queue.d.ts +4 -11
  305. package/lib/typescript/src/features/queue/queue.d.ts.map +1 -1
  306. package/lib/typescript/src/features/queue/repeatMode.d.ts +1 -1
  307. package/lib/typescript/src/features/queue/shuffle.d.ts +1 -1
  308. package/lib/typescript/src/features/rating.d.ts +14 -0
  309. package/lib/typescript/src/features/rating.d.ts.map +1 -0
  310. package/lib/typescript/src/features/remoteControls.d.ts +35 -23
  311. package/lib/typescript/src/features/remoteControls.d.ts.map +1 -1
  312. package/lib/typescript/src/features/sleepTimer.d.ts +4 -19
  313. package/lib/typescript/src/features/sleepTimer.d.ts.map +1 -1
  314. package/lib/typescript/src/index.d.ts.map +1 -1
  315. package/lib/typescript/src/native.d.ts +2 -1
  316. package/lib/typescript/src/native.d.ts.map +1 -1
  317. package/lib/typescript/src/native.web.d.ts +3 -0
  318. package/lib/typescript/src/native.web.d.ts.map +1 -0
  319. package/lib/typescript/src/specs/audio-browser.nitro.d.ts +225 -17
  320. package/lib/typescript/src/specs/audio-browser.nitro.d.ts.map +1 -1
  321. package/lib/typescript/src/types/browser-native.d.ts +3 -9
  322. package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
  323. package/lib/typescript/src/types/browser-nodes.d.ts +13 -145
  324. package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
  325. package/lib/typescript/src/types/browser.d.ts +85 -349
  326. package/lib/typescript/src/types/browser.d.ts.map +1 -1
  327. package/lib/typescript/src/types/player.d.ts +64 -0
  328. package/lib/typescript/src/types/player.d.ts.map +1 -0
  329. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +6 -8
  330. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
  331. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +2 -0
  332. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -1
  333. package/lib/typescript/src/utils/resolveAssetSource.d.ts.map +1 -1
  334. package/lib/typescript/src/web/NativeAudioBrowser.d.ts +188 -0
  335. package/lib/typescript/src/web/NativeAudioBrowser.d.ts.map +1 -0
  336. package/lib/typescript/src/web/SimpleRouter.d.ts +40 -0
  337. package/lib/typescript/src/web/SimpleRouter.d.ts.map +1 -0
  338. package/lib/typescript/src/web/SimpleRouter.test.d.ts +2 -0
  339. package/lib/typescript/src/web/SimpleRouter.test.d.ts.map +1 -0
  340. package/lib/typescript/src/web/TrackPlayer/Event.d.ts +11 -0
  341. package/lib/typescript/src/web/TrackPlayer/Event.d.ts.map +1 -0
  342. package/lib/typescript/src/web/TrackPlayer/Player.d.ts +59 -0
  343. package/lib/typescript/src/web/TrackPlayer/Player.d.ts.map +1 -0
  344. package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts +39 -0
  345. package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts.map +1 -0
  346. package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts +6 -0
  347. package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts.map +1 -0
  348. package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts +4 -0
  349. package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts.map +1 -0
  350. package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts +34 -0
  351. package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts.map +1 -0
  352. package/lib/typescript/src/web/TrackPlayer/State.d.ts +13 -0
  353. package/lib/typescript/src/web/TrackPlayer/State.d.ts.map +1 -0
  354. package/lib/typescript/src/web/TrackPlayer/index.d.ts +5 -0
  355. package/lib/typescript/src/web/TrackPlayer/index.d.ts.map +1 -0
  356. package/lib/typescript/src/web/browser/BrowserManager.d.ts +154 -0
  357. package/lib/typescript/src/web/browser/BrowserManager.d.ts.map +1 -0
  358. package/lib/typescript/src/web/browser/FavoriteManager.d.ts +42 -0
  359. package/lib/typescript/src/web/browser/FavoriteManager.d.ts.map +1 -0
  360. package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts +40 -0
  361. package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts.map +1 -0
  362. package/lib/typescript/src/web/browser/SearchManager.d.ts +22 -0
  363. package/lib/typescript/src/web/browser/SearchManager.d.ts.map +1 -0
  364. package/lib/typescript/src/web/http/HttpClient.d.ts +25 -0
  365. package/lib/typescript/src/web/http/HttpClient.d.ts.map +1 -0
  366. package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts +98 -0
  367. package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts.map +1 -0
  368. package/lib/typescript/src/web/player/NowPlayingManager.d.ts +34 -0
  369. package/lib/typescript/src/web/player/NowPlayingManager.d.ts.map +1 -0
  370. package/lib/typescript/src/web/player/OptionsManager.d.ts +32 -0
  371. package/lib/typescript/src/web/player/OptionsManager.d.ts.map +1 -0
  372. package/lib/typescript/src/web/util/BrowserPathHelper.d.ts +69 -0
  373. package/lib/typescript/src/web/util/BrowserPathHelper.d.ts.map +1 -0
  374. package/lib/typescript/src/web/util/shuffle.d.ts +8 -0
  375. package/lib/typescript/src/web/util/shuffle.d.ts.map +1 -0
  376. package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +2 -4
  377. package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +10 -24
  378. package/nitrogen/generated/android/c++/JAndroidAudioContentType.hpp +6 -6
  379. package/nitrogen/generated/android/c++/JAndroidOptions.hpp +20 -10
  380. package/nitrogen/generated/android/c++/JAndroidUpdateOptions.hpp +86 -0
  381. package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +1 -33
  382. package/nitrogen/generated/android/c++/JBrowseResult.hpp +0 -5
  383. package/nitrogen/generated/android/c++/JCarPlayNowPlayingButton.hpp +3 -3
  384. package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +0 -6
  385. package/nitrogen/generated/android/c++/JFormattedNavigationError.hpp +2 -3
  386. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +0 -6
  387. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.hpp +147 -0
  388. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +0 -8
  389. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +0 -6
  390. package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +0 -6
  391. package/nitrogen/generated/android/c++/JFunc_void_IosOutput.hpp +80 -0
  392. package/nitrogen/generated/android/c++/JFunc_void_NowPlayingMetadata.hpp +10 -0
  393. package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +9 -14
  394. package/nitrogen/generated/android/c++/JFunc_void_Playback.hpp +0 -2
  395. package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +0 -6
  396. package/nitrogen/generated/android/c++/JFunc_void_PlaybackErrorEvent.hpp +0 -2
  397. package/nitrogen/generated/android/c++/JFunc_void_RemoteSetRatingEvent.hpp +87 -0
  398. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +10 -10
  399. package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +0 -6
  400. package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +0 -6
  401. package/nitrogen/generated/android/c++/JHeartRating.hpp +57 -0
  402. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +221 -245
  403. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.hpp +22 -25
  404. package/nitrogen/generated/android/c++/JImageRowItem.hpp +3 -33
  405. package/nitrogen/generated/android/c++/{JOutput.hpp → JIosOutput.hpp} +15 -15
  406. package/nitrogen/generated/android/c++/JIosOutputType.hpp +85 -0
  407. package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +1 -33
  408. package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +28 -61
  409. package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +9 -20
  410. package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +24 -21
  411. package/nitrogen/generated/android/c++/JNavigationErrorType.hpp +0 -6
  412. package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +20 -10
  413. package/nitrogen/generated/android/c++/{JRemoteButton.hpp → JNotificationButton.hpp} +20 -20
  414. package/nitrogen/generated/android/c++/JNotificationButtonLayout.hpp +94 -0
  415. package/nitrogen/generated/android/c++/JNowPlayingMetadata.hpp +17 -3
  416. package/nitrogen/generated/android/c++/JNowPlayingUpdate.hpp +3 -7
  417. package/nitrogen/generated/android/c++/JOptions.hpp +14 -19
  418. package/nitrogen/generated/android/c++/{JNativeAndroidSetupOptions.hpp → JPartialAndroidSetupPlayerOptions.hpp} +10 -10
  419. package/nitrogen/generated/android/c++/{JNativeIOSSetupOptions.hpp → JPartialIOSSetupPlayerOptions.hpp} +10 -10
  420. package/nitrogen/generated/android/c++/JPartialSetupPlayerOptions.hpp +96 -0
  421. package/nitrogen/generated/android/c++/JPercentageRating.hpp +57 -0
  422. package/nitrogen/generated/android/c++/JPlayback.hpp +0 -2
  423. package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +0 -6
  424. package/nitrogen/generated/android/c++/JPlaybackError.hpp +3 -18
  425. package/nitrogen/generated/android/c++/JPlaybackErrorEvent.hpp +0 -2
  426. package/nitrogen/generated/android/c++/JPlaybackState.hpp +3 -3
  427. package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +5 -11
  428. package/nitrogen/generated/android/c++/JRatingType.hpp +73 -0
  429. package/nitrogen/generated/android/c++/JRemoteSetRatingEvent.hpp +66 -0
  430. package/nitrogen/generated/android/c++/JResolvedTrack.hpp +5 -23
  431. package/nitrogen/generated/android/c++/JRetryConfig.hpp +7 -11
  432. package/nitrogen/generated/android/c++/JSearchMode.hpp +9 -27
  433. package/nitrogen/generated/android/c++/JSearchParams.hpp +3 -9
  434. package/nitrogen/generated/android/c++/JStarRating.hpp +57 -0
  435. package/nitrogen/generated/android/c++/{JGateEvent.hpp → JThumbsRating.hpp} +15 -16
  436. package/nitrogen/generated/android/c++/JTrack.hpp +5 -23
  437. package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +0 -6
  438. package/nitrogen/generated/android/c++/JTransformableRequestConfig.hpp +1 -14
  439. package/nitrogen/generated/android/c++/JUpdateOptions.hpp +105 -0
  440. package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.cpp +34 -0
  441. package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.hpp +105 -0
  442. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.cpp +26 -0
  443. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.hpp +75 -0
  444. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidAudioContentType.kt +4 -4
  445. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidOptions.kt +9 -3
  446. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidUpdateOptions.kt +50 -0
  447. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkRequestConfig.kt +4 -10
  448. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayNowPlayingButton.kt +3 -3
  449. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormattedNavigationError.kt +2 -2
  450. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.kt → Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.kt} +12 -12
  451. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_Output.kt → Func_void_IosOutput.kt} +9 -9
  452. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_GateEvent.kt → Func_void_RemoteSetRatingEvent.kt} +9 -9
  453. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_bool.kt +9 -9
  454. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Gate.kt → HeartRating.kt} +6 -9
  455. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HybridAudioBrowserSpec.kt +109 -103
  456. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +3 -24
  457. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Output.kt → IosOutput.kt} +6 -6
  458. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IosOutputType.kt +32 -0
  459. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaRequestConfig.kt +4 -10
  460. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +6 -18
  461. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeRouteEntry.kt +4 -4
  462. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeUpdateOptions.kt +6 -6
  463. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorType.kt +1 -3
  464. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +9 -3
  465. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoritesMatchMode.kt → NotificationButton.kt} +8 -5
  466. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButtonLayout.kt +50 -0
  467. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingMetadata.kt +6 -3
  468. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingUpdate.kt +3 -6
  469. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Options.kt +3 -3
  470. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{NativeAndroidSetupOptions.kt → PartialAndroidSetupPlayerOptions.kt} +5 -5
  471. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{NativeIOSSetupOptions.kt → PartialIOSSetupPlayerOptions.kt} +5 -5
  472. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PartialSetupPlayerOptions.kt +47 -0
  473. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{GateDecision.kt → PercentageRating.kt} +6 -9
  474. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackError.kt +3 -12
  475. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackState.kt +6 -6
  476. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayerCapabilities.kt +2 -2
  477. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{GateReason.kt → RatingType.kt} +10 -5
  478. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{ArtworkVariants.kt → RemoteSetRatingEvent.kt} +6 -9
  479. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ResolvedTrack.kt +3 -12
  480. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RetryConfig.kt +4 -7
  481. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchMode.kt +6 -12
  482. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchParams.kt +3 -6
  483. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{GateEvent.kt → StarRating.kt} +6 -6
  484. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoriteConfig.kt → ThumbsRating.kt} +6 -6
  485. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +3 -12
  486. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TransformableRequestConfig.kt +4 -7
  487. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/UpdateOptions.kt +53 -0
  488. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.kt +77 -0
  489. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Variant_NullType_RemoteButtonLayout.kt → Variant_NullType_NotificationButtonLayout.kt} +9 -9
  490. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +28 -139
  491. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +489 -1125
  492. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +45 -66
  493. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +118 -176
  494. package/nitrogen/generated/ios/swift/AndroidAudioContentType.swift +8 -8
  495. package/nitrogen/generated/ios/swift/AndroidOptions.swift +22 -12
  496. package/nitrogen/generated/ios/swift/AndroidUpdateOptions.swift +119 -0
  497. package/nitrogen/generated/ios/swift/ArtworkRequestConfig.swift +1 -95
  498. package/nitrogen/generated/ios/swift/CarPlayNowPlayingButton.swift +4 -4
  499. package/nitrogen/generated/ios/swift/FormattedNavigationError.swift +4 -17
  500. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.swift +68 -0
  501. package/nitrogen/generated/ios/swift/{Func_void_Output.swift → Func_void_IosOutput.swift} +10 -10
  502. package/nitrogen/generated/ios/swift/{Func_void_GateEvent.swift → Func_void_RemoteSetRatingEvent.swift} +10 -10
  503. package/nitrogen/generated/ios/swift/Func_void_bool.swift +5 -5
  504. package/nitrogen/generated/ios/swift/{Func_void_std__shared_ptr_Promise_GateDecision__.swift → Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___.swift} +17 -17
  505. package/nitrogen/generated/ios/swift/HeartRating.swift +29 -0
  506. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec.swift +14 -20
  507. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec_cxx.swift +197 -230
  508. package/nitrogen/generated/ios/swift/ImageRowItem.swift +2 -121
  509. package/nitrogen/generated/ios/swift/{Output.swift → IosOutput.swift} +7 -7
  510. package/nitrogen/generated/ios/swift/IosOutputType.swift +76 -0
  511. package/nitrogen/generated/ios/swift/MediaRequestConfig.swift +1 -107
  512. package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +22 -161
  513. package/nitrogen/generated/ios/swift/NativeRouteEntry.swift +19 -19
  514. package/nitrogen/generated/ios/swift/NativeUpdateOptions.swift +25 -12
  515. package/nitrogen/generated/ios/swift/NavigationErrorType.swift +0 -8
  516. package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +41 -12
  517. package/nitrogen/generated/ios/swift/{RemoteButton.swift → NotificationButton.swift} +10 -10
  518. package/nitrogen/generated/ios/swift/NotificationButtonLayout.swift +92 -0
  519. package/nitrogen/generated/ios/swift/NowPlayingMetadata.swift +48 -1
  520. package/nitrogen/generated/ios/swift/NowPlayingUpdate.swift +1 -19
  521. package/nitrogen/generated/ios/swift/Options.swift +4 -10
  522. package/nitrogen/generated/ios/swift/{NativeAndroidSetupOptions.swift → PartialAndroidSetupPlayerOptions.swift} +5 -5
  523. package/nitrogen/generated/ios/swift/{NativeIOSSetupOptions.swift → PartialIOSSetupPlayerOptions.swift} +5 -5
  524. package/nitrogen/generated/ios/swift/PartialSetupPlayerOptions.swift +101 -0
  525. package/nitrogen/generated/ios/swift/PercentageRating.swift +29 -0
  526. package/nitrogen/generated/ios/swift/PlaybackError.swift +2 -43
  527. package/nitrogen/generated/ios/swift/PlaybackState.swift +4 -4
  528. package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +8 -27
  529. package/nitrogen/generated/ios/swift/RatingType.swift +60 -0
  530. package/nitrogen/generated/ios/swift/RemoteSetRatingEvent.swift +58 -0
  531. package/nitrogen/generated/ios/swift/ResolvedTrack.swift +8 -74
  532. package/nitrogen/generated/ios/swift/RetryConfig.swift +4 -35
  533. package/nitrogen/generated/ios/swift/SearchMode.swift +12 -36
  534. package/nitrogen/generated/ios/swift/SearchParams.swift +2 -7
  535. package/nitrogen/generated/ios/swift/StarRating.swift +29 -0
  536. package/nitrogen/generated/ios/swift/ThumbsRating.swift +29 -0
  537. package/nitrogen/generated/ios/swift/Track.swift +8 -74
  538. package/nitrogen/generated/ios/swift/TransformableRequestConfig.swift +1 -60
  539. package/nitrogen/generated/ios/swift/UpdateOptions.swift +143 -0
  540. package/nitrogen/generated/ios/swift/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.swift +20 -0
  541. package/nitrogen/generated/ios/swift/{Variant_NullType_RemoteButtonLayout.swift → Variant_NullType_NotificationButtonLayout.swift} +3 -3
  542. package/nitrogen/generated/shared/c++/AndroidAudioContentType.hpp +10 -10
  543. package/nitrogen/generated/shared/c++/AndroidOptions.hpp +19 -8
  544. package/nitrogen/generated/shared/c++/AndroidUpdateOptions.hpp +109 -0
  545. package/nitrogen/generated/shared/c++/ArtworkRequestConfig.hpp +2 -10
  546. package/nitrogen/generated/shared/c++/CarPlayNowPlayingButton.hpp +6 -6
  547. package/nitrogen/generated/shared/c++/EqualizerSettings.hpp +2 -0
  548. package/nitrogen/generated/shared/c++/FormattedNavigationError.hpp +5 -6
  549. package/nitrogen/generated/shared/c++/{GateEvent.hpp → HeartRating.hpp} +17 -18
  550. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.cpp +18 -21
  551. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.hpp +35 -44
  552. package/nitrogen/generated/shared/c++/ImageRowItem.hpp +2 -33
  553. package/nitrogen/generated/shared/c++/{Output.hpp → IosOutput.hpp} +18 -18
  554. package/nitrogen/generated/shared/c++/IosOutputType.hpp +112 -0
  555. package/nitrogen/generated/shared/c++/MediaRequestConfig.hpp +2 -10
  556. package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +15 -31
  557. package/nitrogen/generated/shared/c++/NativeRouteEntry.hpp +5 -5
  558. package/nitrogen/generated/shared/c++/NativeUpdateOptions.hpp +7 -9
  559. package/nitrogen/generated/shared/c++/NavigationErrorType.hpp +0 -8
  560. package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +19 -8
  561. package/nitrogen/generated/shared/c++/{RemoteButton.hpp → NotificationButton.hpp} +25 -25
  562. package/nitrogen/generated/shared/c++/NotificationButtonLayout.hpp +102 -0
  563. package/nitrogen/generated/shared/c++/NowPlayingMetadata.hpp +19 -3
  564. package/nitrogen/generated/shared/c++/NowPlayingUpdate.hpp +2 -6
  565. package/nitrogen/generated/shared/c++/Options.hpp +8 -8
  566. package/nitrogen/generated/shared/c++/{NativeAndroidSetupOptions.hpp → PartialAndroidSetupPlayerOptions.hpp} +11 -11
  567. package/nitrogen/generated/shared/c++/{NativeIOSSetupOptions.hpp → PartialIOSSetupPlayerOptions.hpp} +11 -11
  568. package/nitrogen/generated/shared/c++/PartialSetupPlayerOptions.hpp +104 -0
  569. package/nitrogen/generated/shared/c++/{FavoriteConfig.hpp → PercentageRating.hpp} +17 -18
  570. package/nitrogen/generated/shared/c++/PlaybackError.hpp +3 -18
  571. package/nitrogen/generated/shared/c++/PlaybackState.hpp +9 -9
  572. package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +6 -9
  573. package/nitrogen/generated/shared/c++/RatingType.hpp +96 -0
  574. package/nitrogen/generated/shared/c++/RemoteSetRatingEvent.hpp +94 -0
  575. package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +5 -24
  576. package/nitrogen/generated/shared/c++/RetryConfig.hpp +6 -10
  577. package/nitrogen/generated/shared/c++/SearchMode.hpp +15 -39
  578. package/nitrogen/generated/shared/c++/SearchParams.hpp +2 -9
  579. package/nitrogen/generated/shared/c++/{Gate.hpp → StarRating.hpp} +16 -21
  580. package/nitrogen/generated/shared/c++/{GateDecision.hpp → ThumbsRating.hpp} +17 -23
  581. package/nitrogen/generated/shared/c++/Track.hpp +5 -24
  582. package/nitrogen/generated/shared/c++/TransformableRequestConfig.hpp +2 -6
  583. package/nitrogen/generated/shared/c++/UpdateOptions.hpp +111 -0
  584. package/package.json +5 -12
  585. package/src/AudioBrowser.ts +1 -4
  586. package/src/features/browser.ts +201 -58
  587. package/src/features/equalizer.ts +1 -1
  588. package/src/features/errors.ts +5 -71
  589. package/src/features/favorites.ts +1 -1
  590. package/src/features/index.ts +0 -2
  591. package/src/features/metadata.ts +15 -9
  592. package/src/features/network.ts +1 -1
  593. package/src/features/nowPlaying.ts +1 -37
  594. package/src/features/output.ts +22 -35
  595. package/src/features/playback/controls.ts +0 -8
  596. package/src/features/playback/index.ts +0 -1
  597. package/src/features/playback/playWhenReady.ts +1 -1
  598. package/src/features/playback/playing.ts +1 -1
  599. package/src/features/playback/progress.ts +13 -32
  600. package/src/features/playback/state.ts +1 -1
  601. package/src/features/playback/volume.ts +2 -2
  602. package/src/features/player/options.ts +110 -217
  603. package/src/features/player/setup.ts +175 -397
  604. package/src/features/queue/activeTrack.ts +1 -1
  605. package/src/features/queue/queue.ts +6 -17
  606. package/src/features/queue/repeatMode.ts +1 -1
  607. package/src/features/queue/shuffle.ts +1 -1
  608. package/src/features/rating.ts +17 -0
  609. package/src/features/remoteControls.ts +115 -13
  610. package/src/features/sleepTimer.ts +5 -24
  611. package/src/native.ts +0 -5
  612. package/src/native.web.ts +1 -4
  613. package/src/specs/audio-browser.nitro.ts +41 -131
  614. package/src/types/browser-native.ts +6 -19
  615. package/src/types/browser-nodes.ts +13 -160
  616. package/src/types/browser.ts +89 -377
  617. package/src/types/player.ts +69 -0
  618. package/src/utils/LazyNativeEmitter.ts +8 -9
  619. package/src/utils/NativeUpdatedValue.ts +2 -0
  620. package/src/web/NativeAudioBrowser.ts +158 -365
  621. package/src/web/TrackPlayer/Player.ts +39 -113
  622. package/src/web/TrackPlayer/PlaylistPlayer.ts +346 -0
  623. package/src/web/TrackPlayer/RepeatMode.ts +1 -1
  624. package/src/web/TrackPlayer/SleepTimer.ts +3 -38
  625. package/src/web/TrackPlayer/index.ts +1 -2
  626. package/src/web/browser/BrowserManager.ts +62 -231
  627. package/src/web/browser/NavigationErrorManager.ts +1 -3
  628. package/src/web/browser/SearchManager.ts +15 -11
  629. package/src/web/http/HttpClient.ts +35 -5
  630. package/src/web/http/RequestConfigBuilder.ts +63 -120
  631. package/src/web/player/NowPlayingManager.ts +5 -6
  632. package/src/web/player/OptionsManager.ts +18 -12
  633. package/android/src/main/java/com/audiobrowser/browser/ArtworkResolutionRegistry.kt +0 -37
  634. package/android/src/main/java/com/audiobrowser/browser/BrowseArtworkRegistry.kt +0 -34
  635. package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +0 -299
  636. package/android/src/main/java/com/audiobrowser/browser/JsonArtwork.kt +0 -79
  637. package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +0 -42
  638. package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +0 -35
  639. package/android/src/main/java/com/audiobrowser/player/CapabilityControls.kt +0 -172
  640. package/android/src/main/java/com/audiobrowser/player/EqualizerController.kt +0 -153
  641. package/android/src/main/java/com/audiobrowser/player/InterceptingPlayer.kt +0 -141
  642. package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +0 -347
  643. package/android/src/main/java/com/audiobrowser/player/PlaybackErrorClassifier.kt +0 -129
  644. package/android/src/main/java/com/audiobrowser/player/PlaybackStateMachine.kt +0 -85
  645. package/android/src/main/java/com/audiobrowser/player/PlaybackTimer.kt +0 -56
  646. package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +0 -20
  647. package/android/src/main/java/com/audiobrowser/player/PlayerEngineFactory.kt +0 -130
  648. package/android/src/main/java/com/audiobrowser/player/SleepTimerManager.kt +0 -80
  649. package/android/src/main/java/com/audiobrowser/player/StuckRecoveryPolicy.kt +0 -50
  650. package/android/src/main/java/com/audiobrowser/player/VolumeFader.kt +0 -81
  651. package/android/src/main/java/com/audiobrowser/tls/AiaCertChaser.kt +0 -141
  652. package/android/src/main/java/com/audiobrowser/tls/AiaChasingTrustManager.kt +0 -37
  653. package/android/src/main/java/com/audiobrowser/tls/AiaTls.kt +0 -41
  654. package/android/src/main/java/com/audiobrowser/tls/CachingCertificateFetcher.kt +0 -209
  655. package/android/src/main/java/com/audiobrowser/util/ArtworkContentProvider.kt +0 -161
  656. package/android/src/main/java/com/audiobrowser/util/ArtworkUris.kt +0 -28
  657. package/android/src/main/java/com/audiobrowser/util/ArtworkVariant.kt +0 -24
  658. package/android/src/main/java/com/audiobrowser/util/CoilArtworkLoader.kt +0 -49
  659. package/android/src/main/java/com/audiobrowser/util/CoilArtworkLoaderHolder.kt +0 -36
  660. package/android/src/main/java/com/audiobrowser/util/OutputMonitor.kt +0 -211
  661. package/android/src/main/java/com/audiobrowser/util/OutputSwitcher.kt +0 -58
  662. package/android/src/main/java/com/audiobrowser/util/RatingFavorites.kt +0 -14
  663. package/android/src/test/java/com/audiobrowser/TestFixtures.kt +0 -165
  664. package/android/src/test/java/com/audiobrowser/browser/ArtworkResolutionRegistryTest.kt +0 -46
  665. package/android/src/test/java/com/audiobrowser/browser/BrowseArtworkRegistryTest.kt +0 -39
  666. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerBuildApiRequestTest.kt +0 -114
  667. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerLayerResolutionTest.kt +0 -141
  668. package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +0 -177
  669. package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +0 -55
  670. package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +0 -94
  671. package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +0 -203
  672. package/android/src/test/java/com/audiobrowser/player/DynamicLoadControlTest.kt +0 -56
  673. package/android/src/test/java/com/audiobrowser/player/EqualizerControllerTest.kt +0 -216
  674. package/android/src/test/java/com/audiobrowser/player/MediaSessionSlotMappingTest.kt +0 -45
  675. package/android/src/test/java/com/audiobrowser/player/NowPlayingUpdaterTest.kt +0 -442
  676. package/android/src/test/java/com/audiobrowser/player/PlaybackErrorClassifierTest.kt +0 -190
  677. package/android/src/test/java/com/audiobrowser/player/PlaybackStateMachineTest.kt +0 -198
  678. package/android/src/test/java/com/audiobrowser/player/PlaybackTimerTest.kt +0 -137
  679. package/android/src/test/java/com/audiobrowser/player/PlayerEngineFactoryTest.kt +0 -36
  680. package/android/src/test/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicyTest.kt +0 -268
  681. package/android/src/test/java/com/audiobrowser/player/SessionErrorMaskTest.kt +0 -68
  682. package/android/src/test/java/com/audiobrowser/player/StuckRecoveryPolicyTest.kt +0 -40
  683. package/android/src/test/java/com/audiobrowser/player/TransformingDataSourceTest.kt +0 -193
  684. package/android/src/test/java/com/audiobrowser/tls/AiaCertChaserTest.kt +0 -107
  685. package/android/src/test/java/com/audiobrowser/tls/AiaChasingTrustManagerTest.kt +0 -73
  686. package/android/src/test/java/com/audiobrowser/tls/CachingCertificateFetcherTest.kt +0 -75
  687. package/android/src/test/java/com/audiobrowser/tls/CertFixtures.kt +0 -18
  688. package/android/src/test/java/com/audiobrowser/util/ArtworkContentProviderTest.kt +0 -163
  689. package/android/src/test/java/com/audiobrowser/util/ArtworkUrisTest.kt +0 -34
  690. package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +0 -28
  691. package/android/src/test/java/com/audiobrowser/util/CoilArtworkLoaderHolderTest.kt +0 -53
  692. package/android/src/test/java/com/audiobrowser/util/CoilArtworkLoaderTest.kt +0 -58
  693. package/android/src/test/java/com/audiobrowser/util/FakeImageLoader.kt +0 -57
  694. package/android/src/test/java/com/audiobrowser/util/PlayingStateFactoryTest.kt +0 -40
  695. package/android/src/test/java/com/audiobrowser/util/RatingFavoritesTest.kt +0 -34
  696. package/android/src/test/java/com/audiobrowser/util/TrackFactoryBrowseTest.kt +0 -50
  697. package/android/src/test/java/com/audiobrowser/util/TrackFactoryMediaIdTest.kt +0 -63
  698. package/android/src/test/java/com/audiobrowser/util/TrackFactoryRatingTest.kt +0 -35
  699. package/android/src/test/resources/certs/isrg-root-x1.pem +0 -31
  700. package/android/src/test/resources/certs/letsencrypt-r13.der +0 -0
  701. package/android/src/test/resources/certs/letsencrypt-r13.pem +0 -29
  702. package/android/src/test/resources/certs/stationplaylist-leaf.pem +0 -34
  703. package/ios/Browser/MediaResolveComposer.swift +0 -114
  704. package/ios/Browser/SearchDrillIn.swift +0 -44
  705. package/ios/Browser/SectionScope.swift +0 -35
  706. package/ios/Browser/TabBarEntries.swift +0 -15
  707. package/ios/CarPlay/CPInterfaceController+Safe.swift +0 -126
  708. package/ios/CarPlay/ImageRowItem+CarPlay.swift +0 -19
  709. package/ios/CarPlay/RNABMediaAddHandler.swift +0 -75
  710. package/ios/CarPlay/RNABMediaAffinityHandler.swift +0 -69
  711. package/ios/Extension/PlayerCapabilities+Favorite.swift +0 -20
  712. package/ios/Extension/RequestConfig+Copying.swift +0 -31
  713. package/ios/Extension/Variant+Artwork.swift +0 -49
  714. package/ios/NowPlayingInfo/SilentAudioPrimer.swift +0 -73
  715. package/ios/Player/AirPlayStallJudgement.swift +0 -25
  716. package/ios/Player/EndOfTrackJudgement.swift +0 -32
  717. package/ios/Player/MediaIntentCriteria.swift +0 -139
  718. package/ios/Player/PersistedPlaybackState.swift +0 -11
  719. package/ios/Player/PlaybackStateStore.swift +0 -27
  720. package/ios/Player/PlaybackTimer.swift +0 -61
  721. package/ios/Player/VolumeFader.swift +0 -77
  722. package/ios/RemoteCommand/RemoteCommandCallbacks.swift +0 -47
  723. package/ios/Tests/AirPlayStallJudgementTests.swift +0 -52
  724. package/ios/Tests/EndOfTrackJudgementTests.swift +0 -35
  725. package/ios/Tests/JsonModelsTests.swift +0 -58
  726. package/ios/Tests/MediaIntentCriteriaTests.swift +0 -170
  727. package/ios/Tests/MediaLoaderAssetOptionsTests.swift +0 -46
  728. package/ios/Tests/MediaResolveTests.swift +0 -126
  729. package/ios/Tests/OnceValueTests.swift +0 -79
  730. package/ios/Tests/PlaybackStateStoreTests.swift +0 -48
  731. package/ios/Tests/PlaybackTimerTests.swift +0 -55
  732. package/ios/Tests/PlayingStateManagerTests.swift +0 -57
  733. package/ios/Tests/RemoteCommandControllerTests.swift +0 -156
  734. package/ios/Tests/RemoteCommandTests.swift +0 -67
  735. package/ios/Tests/RetryManagerTests.swift +0 -89
  736. package/ios/Tests/SearchDrillInTests.swift +0 -63
  737. package/ios/Tests/SectionScopeTests.swift +0 -82
  738. package/ios/Tests/SleepTimerManagerTests.swift +0 -107
  739. package/ios/Tests/Support/ManualSleepTimerScheduler.swift +0 -47
  740. package/ios/Tests/TabBarEntriesTests.swift +0 -71
  741. package/lib/commonjs/features/browser-config.js +0 -227
  742. package/lib/commonjs/features/browser-config.js.map +0 -1
  743. package/lib/commonjs/features/carConnection.js +0 -42
  744. package/lib/commonjs/features/carConnection.js.map +0 -1
  745. package/lib/commonjs/features/gate.js +0 -149
  746. package/lib/commonjs/features/gate.js.map +0 -1
  747. package/lib/commonjs/features/playback/trackPlaybackTime.js +0 -86
  748. package/lib/commonjs/features/playback/trackPlaybackTime.js.map +0 -1
  749. package/lib/commonjs/features/player/validateOptions.js +0 -24
  750. package/lib/commonjs/features/player/validateOptions.js.map +0 -1
  751. package/lib/commonjs/utils/artwork.js +0 -31
  752. package/lib/commonjs/utils/artwork.js.map +0 -1
  753. package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js +0 -71
  754. package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js.map +0 -1
  755. package/lib/commonjs/web/TrackPlayer/PlaybackTimer.js +0 -34
  756. package/lib/commonjs/web/TrackPlayer/PlaybackTimer.js.map +0 -1
  757. package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js +0 -21
  758. package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js.map +0 -1
  759. package/lib/commonjs/web/TrackPlayer/QueueManager.js +0 -273
  760. package/lib/commonjs/web/TrackPlayer/QueueManager.js.map +0 -1
  761. package/lib/commonjs/web/TrackPlayer/QueuePlayer.js +0 -158
  762. package/lib/commonjs/web/TrackPlayer/QueuePlayer.js.map +0 -1
  763. package/lib/commonjs/web/TrackPlayer/VolumeFader.js +0 -75
  764. package/lib/commonjs/web/TrackPlayer/VolumeFader.js.map +0 -1
  765. package/lib/commonjs/web/browser/assertBrowsePageShape.js +0 -22
  766. package/lib/commonjs/web/browser/assertBrowsePageShape.js.map +0 -1
  767. package/lib/commonjs/web/browser/classifyTrackNavigation.js +0 -41
  768. package/lib/commonjs/web/browser/classifyTrackNavigation.js.map +0 -1
  769. package/lib/commonjs/web/browser/parseSearchResponse.js +0 -20
  770. package/lib/commonjs/web/browser/parseSearchResponse.js.map +0 -1
  771. package/lib/commonjs/web/playbackErrorKind.js +0 -57
  772. package/lib/commonjs/web/playbackErrorKind.js.map +0 -1
  773. package/lib/commonjs/web/player/MediaSessionManager.js +0 -121
  774. package/lib/commonjs/web/player/MediaSessionManager.js.map +0 -1
  775. package/lib/commonjs/web/player/RemoteCommandController.js +0 -96
  776. package/lib/commonjs/web/player/RemoteCommandController.js.map +0 -1
  777. package/lib/module/features/browser-config.js +0 -221
  778. package/lib/module/features/browser-config.js.map +0 -1
  779. package/lib/module/features/carConnection.js +0 -37
  780. package/lib/module/features/carConnection.js.map +0 -1
  781. package/lib/module/features/gate.js +0 -144
  782. package/lib/module/features/gate.js.map +0 -1
  783. package/lib/module/features/playback/trackPlaybackTime.js +0 -83
  784. package/lib/module/features/playback/trackPlaybackTime.js.map +0 -1
  785. package/lib/module/features/player/validateOptions.js +0 -20
  786. package/lib/module/features/player/validateOptions.js.map +0 -1
  787. package/lib/module/utils/artwork.js +0 -26
  788. package/lib/module/utils/artwork.js.map +0 -1
  789. package/lib/module/web/TrackPlayer/PlaybackStateMachine.js +0 -67
  790. package/lib/module/web/TrackPlayer/PlaybackStateMachine.js.map +0 -1
  791. package/lib/module/web/TrackPlayer/PlaybackTimer.js +0 -29
  792. package/lib/module/web/TrackPlayer/PlaybackTimer.js.map +0 -1
  793. package/lib/module/web/TrackPlayer/PlayingStateFactory.js +0 -17
  794. package/lib/module/web/TrackPlayer/PlayingStateFactory.js.map +0 -1
  795. package/lib/module/web/TrackPlayer/QueueManager.js +0 -269
  796. package/lib/module/web/TrackPlayer/QueueManager.js.map +0 -1
  797. package/lib/module/web/TrackPlayer/QueuePlayer.js +0 -154
  798. package/lib/module/web/TrackPlayer/QueuePlayer.js.map +0 -1
  799. package/lib/module/web/TrackPlayer/VolumeFader.js +0 -70
  800. package/lib/module/web/TrackPlayer/VolumeFader.js.map +0 -1
  801. package/lib/module/web/browser/assertBrowsePageShape.js +0 -18
  802. package/lib/module/web/browser/assertBrowsePageShape.js.map +0 -1
  803. package/lib/module/web/browser/classifyTrackNavigation.js +0 -38
  804. package/lib/module/web/browser/classifyTrackNavigation.js.map +0 -1
  805. package/lib/module/web/browser/parseSearchResponse.js +0 -16
  806. package/lib/module/web/browser/parseSearchResponse.js.map +0 -1
  807. package/lib/module/web/playbackErrorKind.js +0 -52
  808. package/lib/module/web/playbackErrorKind.js.map +0 -1
  809. package/lib/module/web/player/MediaSessionManager.js +0 -116
  810. package/lib/module/web/player/MediaSessionManager.js.map +0 -1
  811. package/lib/module/web/player/RemoteCommandController.js +0 -92
  812. package/lib/module/web/player/RemoteCommandController.js.map +0 -1
  813. package/lib/typescript/src/features/browser-config.d.ts +0 -12
  814. package/lib/typescript/src/features/browser-config.d.ts.map +0 -1
  815. package/lib/typescript/src/features/carConnection.d.ts +0 -20
  816. package/lib/typescript/src/features/carConnection.d.ts.map +0 -1
  817. package/lib/typescript/src/features/gate.d.ts +0 -78
  818. package/lib/typescript/src/features/gate.d.ts.map +0 -1
  819. package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts +0 -34
  820. package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts.map +0 -1
  821. package/lib/typescript/src/features/player/validateOptions.d.ts +0 -2
  822. package/lib/typescript/src/features/player/validateOptions.d.ts.map +0 -1
  823. package/lib/typescript/src/utils/artwork.d.ts +0 -19
  824. package/lib/typescript/src/utils/artwork.d.ts.map +0 -1
  825. package/nitrogen/generated/android/c++/JArtworkVariants.hpp +0 -61
  826. package/nitrogen/generated/android/c++/JFavoriteConfig.hpp +0 -58
  827. package/nitrogen/generated/android/c++/JFavoritesMatchMode.hpp +0 -58
  828. package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +0 -100
  829. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.hpp +0 -112
  830. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.hpp +0 -121
  831. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +0 -123
  832. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +0 -133
  833. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +0 -121
  834. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.hpp +0 -139
  835. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.hpp +0 -134
  836. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.hpp +0 -131
  837. package/nitrogen/generated/android/c++/JFunc_void_GateEvent.hpp +0 -79
  838. package/nitrogen/generated/android/c++/JFunc_void_Output.hpp +0 -80
  839. package/nitrogen/generated/android/c++/JGate.hpp +0 -62
  840. package/nitrogen/generated/android/c++/JGateDecision.hpp +0 -64
  841. package/nitrogen/generated/android/c++/JGateReason.hpp +0 -58
  842. package/nitrogen/generated/android/c++/JIOSOptions.hpp +0 -95
  843. package/nitrogen/generated/android/c++/JMediaReference.hpp +0 -58
  844. package/nitrogen/generated/android/c++/JNativeGateRequest.hpp +0 -74
  845. package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +0 -182
  846. package/nitrogen/generated/android/c++/JNitroIOSUpdateOptions.hpp +0 -96
  847. package/nitrogen/generated/android/c++/JOutputType.hpp +0 -82
  848. package/nitrogen/generated/android/c++/JPlaybackErrorKind.hpp +0 -76
  849. package/nitrogen/generated/android/c++/JRemoteButtonLayout.hpp +0 -86
  850. package/nitrogen/generated/android/c++/JStallReason.hpp +0 -58
  851. package/nitrogen/generated/android/c++/JTrackRequest.hpp +0 -93
  852. package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.cpp +0 -26
  853. package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.hpp +0 -71
  854. package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.cpp +0 -26
  855. package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.hpp +0 -75
  856. package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.cpp +0 -41
  857. package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +0 -121
  858. package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.cpp +0 -26
  859. package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.hpp +0 -70
  860. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormatNowPlayingParams.kt +0 -50
  861. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.kt +0 -80
  862. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.kt +0 -80
  863. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___Track.kt +0 -80
  864. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.kt +0 -80
  865. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_std__string____Track.kt +0 -80
  866. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.kt +0 -80
  867. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.kt +0 -80
  868. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSOptions.kt +0 -44
  869. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaReference.kt +0 -23
  870. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeGateRequest.kt +0 -44
  871. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeSetupPlayerOptions.kt +0 -66
  872. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroIOSUpdateOptions.kt +0 -44
  873. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/OutputType.kt +0 -31
  874. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackErrorKind.kt +0 -29
  875. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteButton.kt +0 -26
  876. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteButtonLayout.kt +0 -44
  877. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StallReason.kt +0 -23
  878. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackRequest.kt +0 -44
  879. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_FavoriteConfig.kt +0 -53
  880. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.kt +0 -65
  881. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_String_ArtworkVariants.kt +0 -53
  882. package/nitrogen/generated/ios/swift/ArtworkVariants.swift +0 -34
  883. package/nitrogen/generated/ios/swift/FavoriteConfig.swift +0 -29
  884. package/nitrogen/generated/ios/swift/FavoritesMatchMode.swift +0 -40
  885. package/nitrogen/generated/ios/swift/FormatNowPlayingParams.swift +0 -67
  886. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.swift +0 -54
  887. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.swift +0 -69
  888. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___Track.swift +0 -54
  889. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.swift +0 -60
  890. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_std__string____Track.swift +0 -60
  891. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.swift +0 -61
  892. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.swift +0 -61
  893. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.swift +0 -77
  894. package/nitrogen/generated/ios/swift/Func_void_GateDecision.swift +0 -46
  895. package/nitrogen/generated/ios/swift/Func_void_TransformableRequestConfig.swift +0 -46
  896. package/nitrogen/generated/ios/swift/Func_void_std__optional_NowPlayingUpdate_.swift +0 -46
  897. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +0 -53
  898. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_TransformableRequestConfig__.swift +0 -66
  899. package/nitrogen/generated/ios/swift/Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____.swift +0 -81
  900. package/nitrogen/generated/ios/swift/Gate.swift +0 -47
  901. package/nitrogen/generated/ios/swift/GateDecision.swift +0 -40
  902. package/nitrogen/generated/ios/swift/GateEvent.swift +0 -29
  903. package/nitrogen/generated/ios/swift/GateReason.swift +0 -40
  904. package/nitrogen/generated/ios/swift/IOSOptions.swift +0 -51
  905. package/nitrogen/generated/ios/swift/MediaReference.swift +0 -40
  906. package/nitrogen/generated/ios/swift/NativeGateRequest.swift +0 -58
  907. package/nitrogen/generated/ios/swift/NativeSetupPlayerOptions.swift +0 -206
  908. package/nitrogen/generated/ios/swift/NitroIOSUpdateOptions.swift +0 -90
  909. package/nitrogen/generated/ios/swift/OutputType.swift +0 -72
  910. package/nitrogen/generated/ios/swift/PlaybackErrorKind.swift +0 -64
  911. package/nitrogen/generated/ios/swift/RemoteButtonLayout.swift +0 -57
  912. package/nitrogen/generated/ios/swift/StallReason.swift +0 -40
  913. package/nitrogen/generated/ios/swift/TrackRequest.swift +0 -106
  914. package/nitrogen/generated/ios/swift/Variant_Bool_FavoriteConfig.swift +0 -18
  915. package/nitrogen/generated/ios/swift/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.swift +0 -19
  916. package/nitrogen/generated/ios/swift/Variant_String_ArtworkVariants.swift +0 -18
  917. package/nitrogen/generated/shared/c++/ArtworkVariants.hpp +0 -87
  918. package/nitrogen/generated/shared/c++/FavoritesMatchMode.hpp +0 -76
  919. package/nitrogen/generated/shared/c++/FormatNowPlayingParams.hpp +0 -110
  920. package/nitrogen/generated/shared/c++/GateReason.hpp +0 -76
  921. package/nitrogen/generated/shared/c++/IOSOptions.hpp +0 -91
  922. package/nitrogen/generated/shared/c++/MediaReference.hpp +0 -76
  923. package/nitrogen/generated/shared/c++/NativeGateRequest.hpp +0 -97
  924. package/nitrogen/generated/shared/c++/NativeSetupPlayerOptions.hpp +0 -138
  925. package/nitrogen/generated/shared/c++/NitroIOSUpdateOptions.hpp +0 -92
  926. package/nitrogen/generated/shared/c++/OutputType.hpp +0 -108
  927. package/nitrogen/generated/shared/c++/PlaybackErrorKind.hpp +0 -100
  928. package/nitrogen/generated/shared/c++/RemoteButtonLayout.hpp +0 -94
  929. package/nitrogen/generated/shared/c++/StallReason.hpp +0 -76
  930. package/nitrogen/generated/shared/c++/TrackRequest.hpp +0 -93
  931. package/src/codegen-no-config-variant.test.ts +0 -70
  932. package/src/features/browser-config.test.ts +0 -110
  933. package/src/features/browser-config.ts +0 -293
  934. package/src/features/browser.test.ts +0 -19
  935. package/src/features/carConnection.ts +0 -36
  936. package/src/features/gate.test.ts +0 -72
  937. package/src/features/gate.ts +0 -155
  938. package/src/features/playback/trackPlaybackTime.test.ts +0 -80
  939. package/src/features/playback/trackPlaybackTime.ts +0 -101
  940. package/src/features/player/options.test.ts +0 -38
  941. package/src/features/player/setup.test.ts +0 -125
  942. package/src/features/player/validateOptions.ts +0 -22
  943. package/src/features/queue/queue.test.ts +0 -36
  944. package/src/public-surface.test.ts +0 -116
  945. package/src/utils/artwork.ts +0 -30
  946. package/src/web/NativeAudioBrowser.playWhenReady.test.ts +0 -301
  947. package/src/web/TrackPlayer/PlaybackStateMachine.test.ts +0 -139
  948. package/src/web/TrackPlayer/PlaybackStateMachine.ts +0 -82
  949. package/src/web/TrackPlayer/PlaybackTimer.test.ts +0 -67
  950. package/src/web/TrackPlayer/PlaybackTimer.ts +0 -33
  951. package/src/web/TrackPlayer/Player.dispatch.test.ts +0 -229
  952. package/src/web/TrackPlayer/Player.load.test.ts +0 -86
  953. package/src/web/TrackPlayer/PlayingStateFactory.test.ts +0 -51
  954. package/src/web/TrackPlayer/PlayingStateFactory.ts +0 -24
  955. package/src/web/TrackPlayer/QueueManager.test.ts +0 -289
  956. package/src/web/TrackPlayer/QueueManager.ts +0 -302
  957. package/src/web/TrackPlayer/QueuePlayer.ts +0 -188
  958. package/src/web/TrackPlayer/VolumeFader.ts +0 -74
  959. package/src/web/browser/__tests__/layer-resolver.test.ts +0 -69
  960. package/src/web/browser/assertBrowsePageShape.test.ts +0 -27
  961. package/src/web/browser/assertBrowsePageShape.ts +0 -27
  962. package/src/web/browser/classifyTrackNavigation.test.ts +0 -41
  963. package/src/web/browser/classifyTrackNavigation.ts +0 -35
  964. package/src/web/browser/parseSearchResponse.test.ts +0 -25
  965. package/src/web/browser/parseSearchResponse.ts +0 -15
  966. package/src/web/http/RequestConfigBuilder.test.ts +0 -59
  967. package/src/web/playbackErrorKind.test.ts +0 -55
  968. package/src/web/playbackErrorKind.ts +0 -56
  969. package/src/web/player/MediaSessionManager.test.ts +0 -220
  970. package/src/web/player/MediaSessionManager.ts +0 -151
  971. package/src/web/player/NowPlayingManager.test.ts +0 -46
  972. package/src/web/player/RemoteCommandController.test.ts +0 -171
  973. package/src/web/player/RemoteCommandController.ts +0 -166
@@ -9,11 +9,10 @@ import NitroModules
9
9
  /// Note: Method names are prefixed to avoid conflicts with JS callback property names.
10
10
  /// All callbacks are called from the main actor since TrackPlayer is @MainActor.
11
11
  ///
12
- /// Extends PlaybackCoordinatorCallbacks for the state machine / coordinator callbacks
13
- /// and RemoteCommandCallbacks for the remote-command events, then adds metadata,
14
- /// seek, and configuration callbacks that are TrackPlayer-specific.
12
+ /// Extends PlaybackCoordinatorCallbacks for the state machine / coordinator callbacks,
13
+ /// then adds metadata, seek, remote, and configuration callbacks that are TrackPlayer-specific.
15
14
  @MainActor
16
- protocol TrackPlayerCallbacks: PlaybackCoordinatorCallbacks, RemoteCommandCallbacks {
15
+ protocol TrackPlayerCallbacks: PlaybackCoordinatorCallbacks {
17
16
  // MARK: - Metadata Events
18
17
 
19
18
  /// Called when common metadata is received.
@@ -35,17 +34,57 @@ protocol TrackPlayerCallbacks: PlaybackCoordinatorCallbacks, RemoteCommandCallba
35
34
 
36
35
  // MARK: - Remote Control Events
37
36
 
38
- // The command-center events live in RemoteCommandCallbacks, inherited above.
37
+ /// Called when play is triggered remotely.
38
+ func remotePlay()
39
+
40
+ /// Called when pause is triggered remotely.
41
+ func remotePause()
42
+
43
+ /// Called when stop is triggered remotely.
44
+ func remoteStop()
45
+
46
+ /// Called when toggle play/pause is triggered remotely.
47
+ func remotePlayPause()
48
+
49
+ /// Called when next is triggered remotely.
50
+ func remoteNext()
51
+
52
+ /// Called when previous is triggered remotely.
53
+ func remotePrevious()
54
+
55
+ /// Called when jump forward is triggered remotely.
56
+ func remoteJumpForward(interval: Double)
57
+
58
+ /// Called when jump backward is triggered remotely.
59
+ func remoteJumpBackward(interval: Double)
60
+
61
+ /// Called when seek is triggered remotely.
62
+ func remoteSeek(position: Double)
39
63
 
40
64
  /// Called when change playback position is triggered remotely.
41
65
  func remoteChangePlaybackPosition(position: Double)
42
66
 
67
+ /// Called when set rating is triggered remotely.
68
+ func remoteSetRating(rating: Any)
69
+
43
70
  /// Called when play from ID is triggered remotely.
44
71
  func remotePlayId(id: String, index: Int?)
45
72
 
46
73
  /// Called when play from search is triggered remotely.
47
74
  func remotePlaySearch(query: String)
48
75
 
76
+ /// Called when like is triggered remotely.
77
+ func remoteLike()
78
+
79
+ /// Called when repeat mode change is triggered remotely (CarPlay/lock screen).
80
+ func remoteChangeRepeatMode(mode: RepeatMode)
81
+
82
+ /// Called when shuffle mode change is triggered remotely (CarPlay/lock screen).
83
+ func remoteChangeShuffleMode(enabled: Bool)
84
+
85
+ /// Called when playback rate change is triggered remotely (CarPlay/lock screen).
86
+ func remoteChangePlaybackRate(rate: Float)
87
+
49
88
  // MARK: - Configuration Events
50
89
 
51
90
  /// Called when options are changed.
@@ -23,7 +23,7 @@ import os.log
23
23
  @MainActor
24
24
  class TrackSelector {
25
25
  private let logger = Logger(subsystem: "com.audiobrowser", category: "TrackSelector")
26
- private nonisolated(unsafe) let browserManager: any TrackSelectionBrowser
26
+ nonisolated(unsafe) private let browserManager: any TrackSelectionBrowser
27
27
 
28
28
  nonisolated init(browserManager: any TrackSelectionBrowser) {
29
29
  self.browserManager = browserManager
@@ -57,7 +57,7 @@ class TrackSelector {
57
57
  /// Handles contextual URL expansion, queue reuse, and handler interception.
58
58
  func select(
59
59
  track: Track,
60
- player: some TrackSelectionPlayer,
60
+ player: some TrackSelectionPlayer
61
61
  ) async -> SelectionResult {
62
62
  let url = track.url
63
63
 
@@ -85,7 +85,7 @@ class TrackSelector {
85
85
  private func handleContextualUrl(
86
86
  _ url: String,
87
87
  track: Track,
88
- player: some TrackSelectionPlayer,
88
+ player: some TrackSelectionPlayer
89
89
  ) async -> SelectionResult {
90
90
  let parentPath = BrowserPathHelper.stripTrackId(url)
91
91
  let trackId = BrowserPathHelper.extractTrackId(url)
@@ -126,9 +126,9 @@ class TrackSelector {
126
126
 
127
127
  private func handlePlayableTrack(
128
128
  _ track: Track,
129
- player _: some TrackSelectionPlayer,
129
+ player: some TrackSelectionPlayer
130
130
  ) async -> SelectionResult {
131
- await singleTrackResult(track)
131
+ return await singleTrackResult(track)
132
132
  }
133
133
 
134
134
  private func singleTrackResult(_ track: Track) async -> SelectionResult {
@@ -1,7 +1,7 @@
1
1
  import Kingfisher
2
2
  import NitroModules
3
- import os.log
4
3
  import UIKit
4
+ import os.log
5
5
 
6
6
  /// Single entry point for loading artwork images from URLs via Kingfisher.
7
7
  enum ArtworkImageFetcher {
@@ -15,9 +15,7 @@ enum ArtworkImageFetcher {
15
15
  if let headers = source.headers, !headers.isEmpty {
16
16
  let modifier = AnyModifier { request in
17
17
  var request = request
18
- for (key, value) in headers {
19
- request.setValue(value, forHTTPHeaderField: key)
20
- }
18
+ for (key, value) in headers { request.setValue(value, forHTTPHeaderField: key) }
21
19
  return request
22
20
  }
23
21
  options.append(.requestModifier(modifier))
@@ -15,15 +15,13 @@ final class NetworkMonitor: @unchecked Sendable {
15
15
  private(set) var isOnline: Bool = false {
16
16
  didSet {
17
17
  if oldValue != isOnline {
18
- logger.notice("Network status changed: \(oldValue) -> \(self.isOnline)")
18
+ logger.info("Network status changed: \(oldValue) -> \(self.isOnline)")
19
19
  onChanged?(isOnline)
20
20
  }
21
21
  }
22
22
  }
23
23
 
24
- /// Invoked on every connectivity change. Wired centrally in `HybridAudioBrowser.setupPlayer` and
25
- /// fans out to the JS event bridge, the now-playing re-render (so the offline/online label tracks
26
- /// connectivity), and the player's reconnect-reload.
24
+ /// Callback invoked when network state changes
27
25
  var onChanged: ((Bool) -> Void)?
28
26
 
29
27
  // MARK: - Initialization
@@ -44,7 +42,7 @@ final class NetworkMonitor: @unchecked Sendable {
44
42
 
45
43
  // Read initial state after starting (currentPath is now valid)
46
44
  let initialStatus = monitor.currentPath.status == .satisfied
47
- logger.notice("NetworkMonitor initialized, initial isOnline=\(initialStatus)")
45
+ logger.info("NetworkMonitor initialized, initial isOnline=\(initialStatus)")
48
46
  isOnline = initialStatus
49
47
  }
50
48
 
@@ -65,5 +63,3 @@ final class NetworkMonitor: @unchecked Sendable {
65
63
  destroy()
66
64
  }
67
65
  }
68
-
69
- extension NetworkMonitor: NetworkStatusProviding {}
@@ -1,19 +1,5 @@
1
1
  import Foundation
2
2
 
3
- /// Guards a continuation that two racing tasks may try to resume, so exactly
4
- /// one wins (see `OnceValue.wait(timeout:)`).
5
- private final class OneShot: @unchecked Sendable {
6
- private let lock = NSLock()
7
- private var claimed = false
8
- func claim() -> Bool {
9
- lock.lock()
10
- defer { lock.unlock() }
11
- if claimed { return false }
12
- claimed = true
13
- return true
14
- }
15
- }
16
-
17
3
  /// A thread-safe primitive that resolves to a value once, allowing multiple waiters.
18
4
  /// Once resolved, all current and future `wait()` calls return immediately with the value.
19
5
  final class OnceValue<T: Sendable>: @unchecked Sendable {
@@ -74,26 +60,6 @@ final class OnceValue<T: Sendable>: @unchecked Sendable {
74
60
  }
75
61
  }
76
62
 
77
- /// Waits for the value to be resolved, giving up after `timeout`.
78
- /// Returns the value, or nil if the timeout elapses first.
79
- ///
80
- /// Continuations aren't cancellable, so the internal waiter stays registered
81
- /// past a timeout; it resumes harmlessly (into a one-shot guard) if the value
82
- /// resolves later.
83
- func wait(timeout: Duration) async -> T? {
84
- let oneShot = OneShot()
85
- return await withCheckedContinuation { continuation in
86
- Task {
87
- let value = await self.wait()
88
- if oneShot.claim() { continuation.resume(returning: value) }
89
- }
90
- Task {
91
- try? await Task.sleep(for: timeout)
92
- if oneShot.claim() { continuation.resume(returning: nil) }
93
- }
94
- }
95
- }
96
-
97
63
  /// Resets the value, allowing it to be resolved again.
98
64
  /// Any pending waiters will continue waiting for the next resolve.
99
65
  func reset() {
@@ -14,6 +14,17 @@ Object.keys(_features).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
+ var _native = require("./native");
18
+ Object.keys(_native).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _native[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _native[key];
25
+ }
26
+ });
27
+ });
17
28
  var _types = require("./types");
18
29
  Object.keys(_types).forEach(function (key) {
19
30
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"names":["_features","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_types","_useDebug"],"sourceRoot":"../../src","sources":["AudioBrowser.ts"],"mappings":";;;;;AAIA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,MAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,MAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,MAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,MAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,SAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,SAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,SAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,SAAA,CAAAN,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_features","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_native","_types","_useDebug"],"sourceRoot":"../../src","sources":["AudioBrowser.ts"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,OAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,OAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,OAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,MAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,MAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,MAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,MAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,SAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,SAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,SAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,SAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -4,12 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.configureBrowser = configureBrowser;
7
- exports.getBrowserConfiguration = getBrowserConfiguration;
8
7
  exports.getContent = getContent;
9
8
  exports.getPath = getPath;
10
9
  exports.getTabs = getTabs;
11
10
  exports.hasSearch = hasSearch;
12
- exports.invalidateAllContent = void 0;
13
11
  exports.navigate = navigate;
14
12
  exports.onTabsChanged = exports.onPathChanged = exports.onContentChanged = exports.notifyContentChanged = void 0;
15
13
  exports.search = search;
@@ -19,8 +17,160 @@ exports.useTabs = useTabs;
19
17
  var _native = require("../native");
20
18
  var _NativeUpdatedValue = require("../utils/NativeUpdatedValue");
21
19
  var _useNativeUpdatedValue = require("../utils/useNativeUpdatedValue");
22
- var _browserConfig = require("./browser-config");
23
- let currentConfiguration;
20
+ // ─────────────────────────────────────────────────────────────────────────────
21
+ // Configuration Transformation
22
+ // ─────────────────────────────────────────────────────────────────────────────
23
+
24
+ function isCallback(source) {
25
+ return typeof source === 'function';
26
+ }
27
+ function isTransformableRequestConfig(source) {
28
+ if (typeof source !== 'object' || source === null) return false;
29
+ const obj = source;
30
+ // Has request config properties (not a ResolvedTrack which has 'title')
31
+ return 'baseUrl' in obj || 'path' in obj || 'headers' in obj || 'query' in obj || 'transform' in obj;
32
+ }
33
+ function isRouteConfig(source) {
34
+ if (typeof source !== 'object' || source === null) return false;
35
+ const obj = source;
36
+ // RouteConfig has browse/media/artwork properties at the top level
37
+ return 'browse' in obj || 'media' in obj && !('baseUrl' in obj);
38
+ }
39
+ function flattenBrowseSource(source) {
40
+ if (!source) return {};
41
+ if (isCallback(source)) return {
42
+ browseCallback: source
43
+ };
44
+ if (isTransformableRequestConfig(source)) return {
45
+ browseConfig: source
46
+ };
47
+ return {
48
+ browseStatic: source
49
+ };
50
+ }
51
+
52
+ /**
53
+ * Converts a SearchSource to a NativeRouteEntry for the __search__ path.
54
+ */
55
+ function searchSourceToRouteEntry(source) {
56
+ if (isCallback(source)) {
57
+ return {
58
+ path: SEARCH_ROUTE_PATH,
59
+ searchCallback: source
60
+ };
61
+ }
62
+ return {
63
+ path: SEARCH_ROUTE_PATH,
64
+ searchConfig: source
65
+ };
66
+ }
67
+
68
+ /**
69
+ * Wraps a Track[] into a ResolvedTrack for tabs.
70
+ * Tabs are represented as a special route that returns children.
71
+ */
72
+ function wrapTracksAsResolvedTrack(tracks) {
73
+ return {
74
+ url: TABS_ROUTE_PATH,
75
+ title: 'Tabs',
76
+ children: tracks
77
+ };
78
+ }
79
+
80
+ /**
81
+ * Converts a TabsSource to a NativeRouteEntry for the __tabs__ path.
82
+ * Track[] is wrapped in ResolvedTrack, callbacks are wrapped to return ResolvedTrack.
83
+ */
84
+ function tabsSourceToRouteEntry(source) {
85
+ if (Array.isArray(source)) {
86
+ // Static Track[] - wrap as ResolvedTrack
87
+ return {
88
+ path: TABS_ROUTE_PATH,
89
+ browseStatic: wrapTracksAsResolvedTrack(source)
90
+ };
91
+ }
92
+ if (isCallback(source)) {
93
+ // Callback returning Track[] - wrap to return ResolvedTrack
94
+ const wrappedCallback = async () => {
95
+ const tracks = await source();
96
+ return wrapTracksAsResolvedTrack(tracks);
97
+ };
98
+ return {
99
+ path: TABS_ROUTE_PATH,
100
+ browseCallback: wrappedCallback
101
+ };
102
+ }
103
+
104
+ // TransformableRequestConfig - native will handle wrapping the response
105
+ return {
106
+ path: TABS_ROUTE_PATH,
107
+ browseConfig: source
108
+ };
109
+ }
110
+ function flattenRouteEntry(path, source) {
111
+ if (isRouteConfig(source)) {
112
+ return {
113
+ path,
114
+ ...flattenBrowseSource(source.browse),
115
+ media: source.media,
116
+ artwork: source.artwork
117
+ };
118
+ }
119
+ return {
120
+ path,
121
+ ...flattenBrowseSource(source)
122
+ };
123
+ }
124
+
125
+ /** Internal path used for the default/root browse source */
126
+ const DEFAULT_ROUTE_PATH = '__default__';
127
+
128
+ /** Internal path used for navigation tabs */
129
+ const TABS_ROUTE_PATH = '__tabs__';
130
+
131
+ /** Internal path used for search */
132
+ const SEARCH_ROUTE_PATH = '__search__';
133
+ function flattenRoutes(routes, rootBrowse, tabs, search) {
134
+ const entries = [];
135
+
136
+ // Add explicit routes
137
+ if (routes) {
138
+ for (const [path, source] of Object.entries(routes)) {
139
+ entries.push(flattenRouteEntry(path, source));
140
+ }
141
+ }
142
+
143
+ // Add root browse as default fallback
144
+ if (rootBrowse) {
145
+ entries.push(flattenRouteEntry(DEFAULT_ROUTE_PATH, rootBrowse));
146
+ }
147
+
148
+ // Add tabs as special route
149
+ if (tabs) {
150
+ entries.push(tabsSourceToRouteEntry(tabs));
151
+ }
152
+
153
+ // Add search as special route
154
+ if (search) {
155
+ entries.push(searchSourceToRouteEntry(search));
156
+ }
157
+ return entries.length > 0 ? entries : undefined;
158
+ }
159
+ function toNativeConfig(config) {
160
+ return {
161
+ path: config.path,
162
+ request: config.request,
163
+ media: config.media,
164
+ artwork: config.artwork,
165
+ routes: flattenRoutes(config.routes, config.browse, config.tabs, config.search),
166
+ singleTrack: config.singleTrack,
167
+ handleTrackLoad: config.handleTrackLoad,
168
+ androidControllerOfflineError: config.androidControllerOfflineError,
169
+ carPlayUpNextButton: config.carPlayUpNextButton,
170
+ carPlayNowPlayingButtons: config.carPlayNowPlayingButtons,
171
+ formatNavigationError: config.formatNavigationError
172
+ };
173
+ }
24
174
 
25
175
  /**
26
176
  * Configures the browser with routes, tabs, and other settings.
@@ -29,30 +179,13 @@ let currentConfiguration;
29
179
  * - Android Auto / CarPlay browsing integration
30
180
  * - Playback of browsable tracks via navigate()
31
181
  *
32
- * Calling this again REPLACES the entire configuration (no merging) and
33
- * re-runs initial navigation — external browse UIs such as CarPlay reset to
34
- * the first tab. For values that change at runtime (base URL, locale, auth
35
- * token), don't reconfigure: read them inside a `request`/`browse` resolver
36
- * or a `transform`, and call {@link invalidateAllContent} so every surface
37
- * re-fetches in place.
38
- *
39
182
  * @param configuration - Browser configuration including routes, tabs, media config, etc.
40
183
  *
41
184
  * @example
42
185
  * ```ts
43
186
  * configureBrowser({
44
- * request: { baseUrl: 'https://api.example.com' },
45
187
  * routes: {
46
- * // `{id}` is a route parameter — see the `routes` docs for matching rules.
47
- * '/albums/{id}': async ({ routeParams }) => fetchAlbumPage(routeParams?.id),
48
- * // Remapping a browse path to a different API path requires a transform;
49
- * // a static `path` on a request config does NOT rewrite the path.
50
- * '/artists/{id}': {
51
- * transformSync: (request, routeParams) => ({
52
- * ...request,
53
- * path: `/api/v2/artists/${routeParams?.id}`
54
- * })
55
- * }
188
+ * '/albums/:id': { path: '/api/albums/:id' }
56
189
  * },
57
190
  * tabs: [
58
191
  * { title: 'Home', url: '/' },
@@ -62,24 +195,7 @@ let currentConfiguration;
62
195
  * ```
63
196
  */
64
197
  function configureBrowser(configuration) {
65
- // __DEV__ is a React Native global; absent under plain node (vitest).
66
- if (typeof __DEV__ !== 'undefined' && __DEV__) {
67
- (0, _browserConfig.validateBrowserConfiguration)(configuration);
68
- }
69
- currentConfiguration = configuration;
70
- _native.nativeBrowser.configuration = (0, _browserConfig.toNativeConfig)(configuration);
71
- }
72
-
73
- /**
74
- * Returns the configuration last passed to {@link configureBrowser}, in its
75
- * original public shape (the native getter exposes only the lowered internal
76
- * form). `undefined` until the browser is configured.
77
- *
78
- * Treat the returned object as read-only: it is the live reference, and
79
- * mutating it does NOT reconfigure the browser — call configureBrowser again.
80
- */
81
- function getBrowserConfiguration() {
82
- return currentConfiguration;
198
+ _native.nativeBrowser.configuration = toNativeConfig(configuration);
83
199
  }
84
200
  function navigate(pathOrTrack) {
85
201
  if (typeof pathOrTrack === 'string') {
@@ -126,30 +242,13 @@ const notifyContentChanged = path => {
126
242
  _native.nativeBrowser.notifyContentChanged(path);
127
243
  };
128
244
 
129
- /**
130
- * Invalidates all cached browse content and refreshes every currently-displayed
131
- * browse surface. Use when something app-wide changed (locale switch, sign-out,
132
- * etc.) and every browse path should re-fetch from its route handler — unlike
133
- * {@link notifyContentChanged}, which targets a single path.
134
- *
135
- * @example
136
- * ```ts
137
- * // After the user changes the app language
138
- * invalidateAllContent()
139
- * ```
140
- */
141
- exports.notifyContentChanged = notifyContentChanged;
142
- const invalidateAllContent = () => {
143
- _native.nativeBrowser.invalidateAllContent();
144
- };
145
-
146
245
  /**
147
246
  * Returns whether search functionality is configured via `configureBrowser({ search: ... })`.
148
247
  */
149
- exports.invalidateAllContent = invalidateAllContent;
248
+ exports.notifyContentChanged = notifyContentChanged;
150
249
  function hasSearch() {
151
250
  const config = _native.nativeBrowser.configuration;
152
- const searchRoute = config.routes?.find(r => r.path === _browserConfig.SEARCH_ROUTE_PATH);
251
+ const searchRoute = config.routes?.find(r => r.path === SEARCH_ROUTE_PATH);
153
252
  return !!(searchRoute?.searchCallback || searchRoute?.searchConfig);
154
253
  }
155
254
 
@@ -1 +1 @@
1
- {"version":3,"names":["_native","require","_NativeUpdatedValue","_useNativeUpdatedValue","_browserConfig","currentConfiguration","configureBrowser","configuration","__DEV__","validateBrowserConfiguration","nativeBrowser","toNativeConfig","getBrowserConfiguration","navigate","pathOrTrack","navigatePath","navigateTrack","getPath","path","onPathChanged","exports","NativeUpdatedValue","emitterize","cb","usePath","useNativeUpdatedValue","getContent","onContentChanged","useContent","getTabs","tabs","onTabsChanged","useTabs","notifyContentChanged","invalidateAllContent","hasSearch","config","searchRoute","routes","find","r","SEARCH_ROUTE_PATH","searchCallback","searchConfig","search","query","onSearch"],"sourceRoot":"../../../src","sources":["features/browser.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_native","require","_NativeUpdatedValue","_useNativeUpdatedValue","isCallback","source","isTransformableRequestConfig","obj","isRouteConfig","flattenBrowseSource","browseCallback","browseConfig","browseStatic","searchSourceToRouteEntry","path","SEARCH_ROUTE_PATH","searchCallback","searchConfig","wrapTracksAsResolvedTrack","tracks","url","TABS_ROUTE_PATH","title","children","tabsSourceToRouteEntry","Array","isArray","wrappedCallback","flattenRouteEntry","browse","media","artwork","DEFAULT_ROUTE_PATH","flattenRoutes","routes","rootBrowse","tabs","search","entries","Object","push","length","undefined","toNativeConfig","config","request","singleTrack","handleTrackLoad","androidControllerOfflineError","carPlayUpNextButton","carPlayNowPlayingButtons","formatNavigationError","configureBrowser","configuration","nativeBrowser","navigate","pathOrTrack","navigatePath","navigateTrack","getPath","onPathChanged","exports","NativeUpdatedValue","emitterize","cb","usePath","useNativeUpdatedValue","getContent","onContentChanged","useContent","getTabs","onTabsChanged","useTabs","notifyContentChanged","hasSearch","searchRoute","find","r","query","onSearch"],"sourceRoot":"../../../src","sources":["features/browser.ts"],"mappings":"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","ignoreList":[]}
@@ -53,7 +53,7 @@ function setEqualizerLevels(levels) {
53
53
  /**
54
54
  * Subscribes to equalizer settings changes (Android only).
55
55
  * @param callback - Called when equalizer settings change
56
- * @returns An emitter — subscribe with `addListener(callback)`, which returns a cleanup function
56
+ * @returns Cleanup function to unsubscribe
57
57
  */
58
58
  const onEqualizerChanged = exports.onEqualizerChanged = _NativeUpdatedValue.NativeUpdatedValue.emitterize(cb => _native.nativeBrowser.onEqualizerChanged = cb);
59
59
 
@@ -15,36 +15,8 @@ var _NativeUpdatedValue = require("../utils/NativeUpdatedValue");
15
15
  var _useNativeUpdatedValue = require("../utils/useNativeUpdatedValue");
16
16
  // Re-export for Nitro spec
17
17
 
18
- /**
19
- * Normalized, cross-platform classification of a playback failure.
20
- *
21
- * Both platforms map their native failure onto this set, so consumers can
22
- * branch on it without knowing whether the error came from AVFoundation or
23
- * ExoPlayer. Use this — not `code` — for anything user-visible.
24
- *
25
- * - `'offline'` - The device had no network connection at the moment of
26
- * failure. The stream itself may be fine.
27
- * - `'unreachable'` - The stream host could not be reached: DNS failure,
28
- * connection refused, timed out, or the connection dropped while loading.
29
- * - `'not-found'` - The server said this stream is gone (HTTP 404 / 410).
30
- * Retrying will not help; the station is dead.
31
- * - `'rejected'` - The server refused the request (HTTP 401 / 403), e.g.
32
- * geo-blocking or an expired token.
33
- * - `'server-error'` - The server responded with 5xx. Usually transient.
34
- * - `'unplayable'` - The stream was fetched but cannot be played: unknown
35
- * container, unsupported codec, or a decoder failure.
36
- * - `'stalled'` - Playback had started and then stopped, and the player
37
- * exhausted its recovery budget without recovering.
38
- * - `'unknown'` - The failure could not be classified. Inspect `code`.
39
- */
40
-
41
18
  /**
42
19
  * Emitted when a playback error occurs.
43
- *
44
- * Terminal errors only: this fires on both edges of the `error` state —
45
- * entering it (with the error) and leaving it (with `error` undefined).
46
- * Errors the player is still retrying (`retrying: true`) are surfaced through
47
- * `onPlaybackChanged` instead, attached to the `loading`/`buffering` state.
48
20
  */
49
21
 
50
22
  /**
@@ -58,10 +30,6 @@ var _useNativeUpdatedValue = require("../utils/useNativeUpdatedValue");
58
30
  * - `'callback-error'` - The browse callback returned an error (e.g., `{ error: 'message' }`).
59
31
  * Use this for business logic errors like authentication failures or subscription requirements.
60
32
  * - `'unknown-error'` - An unexpected error occurred (e.g., invalid configuration).
61
- * - `'empty-content'` - The path resolved successfully but the container has no children (e.g. an
62
- * empty Favorites tab, a search with no results).
63
- * - `'timeout'` - The resolve did not complete within the allotted time (a stalled request or
64
- * unresponsive bridge). Surfaced on External surfaces that render their own browse list.
65
33
  */
66
34
 
67
35
  /**
@@ -83,7 +51,7 @@ function getPlaybackError() {
83
51
  /**
84
52
  * Subscribes to playback error events.
85
53
  * @param callback - Called when a playback error occurs
86
- * @returns An emitter — subscribe with `addListener(callback)`, which returns a cleanup function
54
+ * @returns Cleanup function to unsubscribe
87
55
  */
88
56
  const onPlaybackError = exports.onPlaybackError = _NativeUpdatedValue.NativeUpdatedValue.emitterize(cb => _native.nativeBrowser.onPlaybackError = cb);
89
57
 
@@ -111,7 +79,7 @@ function getNavigationError() {
111
79
  /**
112
80
  * Subscribes to navigation error events.
113
81
  * @param callback - Called when a navigation error occurs
114
- * @returns An emitter — subscribe with `addListener(callback)`, which returns a cleanup function
82
+ * @returns Cleanup function to unsubscribe
115
83
  */
116
84
  const onNavigationError = exports.onNavigationError = _NativeUpdatedValue.NativeUpdatedValue.emitterize(cb => _native.nativeBrowser.onNavigationError = cb);
117
85
 
@@ -139,7 +107,7 @@ function getFormattedNavigationError() {
139
107
  /**
140
108
  * Subscribes to formatted navigation error changes.
141
109
  * @param callback - Called when the formatted navigation error changes
142
- * @returns An emitter — subscribe with `addListener(callback)`, which returns a cleanup function
110
+ * @returns Cleanup function to unsubscribe
143
111
  */
144
112
  const onFormattedNavigationError = exports.onFormattedNavigationError = _NativeUpdatedValue.NativeUpdatedValue.emitterize(cb => _native.nativeBrowser.onFormattedNavigationError = cb);
145
113
 
@@ -147,7 +115,7 @@ const onFormattedNavigationError = exports.onFormattedNavigationError = _NativeU
147
115
  * Hook that returns the current navigation error formatted for display.
148
116
  *
149
117
  * Native formats the error using the `formatNavigationError` callback configured
150
- * in `BrowserConfiguration`, or falls back to default English messages.
118
+ * in {@link BrowserConfiguration}, or falls back to default English messages.
151
119
  *
152
120
  * The same formatted error is used by CarPlay and Android Auto error dialogs,
153
121
  * ensuring consistent error presentation across your app and external controllers.
@@ -188,7 +156,7 @@ const onFormattedNavigationError = exports.onFormattedNavigationError = _NativeU
188
156
  * })
189
157
  * ```
190
158
  *
191
- * @see `BrowserConfiguration.formatNavigationError` - Configure custom error formatting
159
+ * @see {@link BrowserConfiguration.formatNavigationError} - Configure custom error formatting
192
160
  * @see {@link useNavigationError} - Access the raw error with code and status details
193
161
  */
194
162
  function useFormattedNavigationError() {
@@ -1 +1 @@
1
- {"version":3,"names":["_native","require","_NativeUpdatedValue","_useNativeUpdatedValue","getPlaybackError","nativeBrowser","onPlaybackError","exports","NativeUpdatedValue","emitterize","cb","usePlaybackError","useNativeUpdatedValue","getNavigationError","error","undefined","onNavigationError","useNavigationError","getFormattedNavigationError","onFormattedNavigationError","useFormattedNavigationError"],"sourceRoot":"../../../src","sources":["features/errors.ts"],"mappings":";;;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAEA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAuCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmBA;AACA;AACA;;AAKA;;AAEA;AACA;AACA;AACA;AACO,SAASG,gBAAgBA,CAAA,EAA8B;EAC5D,OAAOC,qBAAa,CAACD,gBAAgB,CAAC,CAAC;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAME,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAC1BE,sCAAkB,CAACC,UAAU,CAC1BC,EAAE,IAAML,qBAAa,CAACC,eAAe,GAAGI,EAC3C,CAAC;;AAEH;;AAEA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAA,EAA8B;EAC5D,OAAO,IAAAC,4CAAqB,EAACR,gBAAgB,EAAEE,eAAe,EAAE,OAAO,CAAC;AAC1E;;AAEA;;AAEA;AACA;AACA;AACA;AACO,SAASO,kBAAkBA,CAAA,EAAgC;EAChE,MAAMC,KAAK,GAAGT,qBAAa,CAACQ,kBAAkB,CAAC,CAAC;EAChD,OAAOC,KAAK,IAAIC,SAAS;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMC,iBAAiB,GAAAT,OAAA,CAAAS,iBAAA,GAC5BR,sCAAkB,CAACC,UAAU,CAC1BC,EAAE,IAAML,qBAAa,CAACW,iBAAiB,GAAGN,EAC7C,CAAC;;AAEH;AACA;AACA;AACA;AACO,SAASO,kBAAkBA,CAAA,EAAgC;EAChE,OAAO,IAAAL,4CAAqB,EAACC,kBAAkB,EAAEG,iBAAiB,EAAE,OAAO,CAAC;AAC9E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,2BAA2BA,CAAA,EAE7B;EACZ,OAAOb,qBAAa,CAACa,2BAA2B,CAAC,CAAC,IAAIH,SAAS;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMI,0BAA0B,GAAAZ,OAAA,CAAAY,0BAAA,GAAGX,sCAAkB,CAACC,UAAU,CAEpEC,EAAE,IAAML,qBAAa,CAACc,0BAA0B,GAAGT,EAAG,CAAC;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASU,2BAA2BA,CAAA,EAE7B;EACZ,OAAO,IAAAR,4CAAqB,EAC1BM,2BAA2B,EAC3BC,0BACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_native","require","_NativeUpdatedValue","_useNativeUpdatedValue","getPlaybackError","nativeBrowser","onPlaybackError","exports","NativeUpdatedValue","emitterize","cb","usePlaybackError","useNativeUpdatedValue","getNavigationError","error","undefined","onNavigationError","useNavigationError","getFormattedNavigationError","onFormattedNavigationError","useFormattedNavigationError"],"sourceRoot":"../../../src","sources":["features/errors.ts"],"mappings":";;;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAEA;;AAQA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiBA;AACA;AACA;;AAKA;;AAEA;AACA;AACA;AACA;AACO,SAASG,gBAAgBA,CAAA,EAA8B;EAC5D,OAAOC,qBAAa,CAACD,gBAAgB,CAAC,CAAC;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAME,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAC1BE,sCAAkB,CAACC,UAAU,CAC1BC,EAAE,IAAML,qBAAa,CAACC,eAAe,GAAGI,EAC3C,CAAC;;AAEH;;AAEA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAA,EAA8B;EAC5D,OAAO,IAAAC,4CAAqB,EAACR,gBAAgB,EAAEE,eAAe,EAAE,OAAO,CAAC;AAC1E;;AAEA;;AAEA;AACA;AACA;AACA;AACO,SAASO,kBAAkBA,CAAA,EAAgC;EAChE,MAAMC,KAAK,GAAGT,qBAAa,CAACQ,kBAAkB,CAAC,CAAC;EAChD,OAAOC,KAAK,IAAIC,SAAS;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMC,iBAAiB,GAAAT,OAAA,CAAAS,iBAAA,GAC5BR,sCAAkB,CAACC,UAAU,CAC1BC,EAAE,IAAML,qBAAa,CAACW,iBAAiB,GAAGN,EAC7C,CAAC;;AAEH;AACA;AACA;AACA;AACO,SAASO,kBAAkBA,CAAA,EAAgC;EAChE,OAAO,IAAAL,4CAAqB,EAACC,kBAAkB,EAAEG,iBAAiB,EAAE,OAAO,CAAC;AAC9E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,2BAA2BA,CAAA,EAE7B;EACZ,OAAOb,qBAAa,CAACa,2BAA2B,CAAC,CAAC,IAAIH,SAAS;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMI,0BAA0B,GAAAZ,OAAA,CAAAY,0BAAA,GAAGX,sCAAkB,CAACC,UAAU,CAEpEC,EAAE,IAAML,qBAAa,CAACc,0BAA0B,GAAGT,EAAG,CAAC;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASU,2BAA2BA,CAAA,EAE7B;EACZ,OAAO,IAAAR,4CAAqB,EAC1BM,2BAA2B,EAC3BC,0BACF,CAAC;AACH","ignoreList":[]}