@5stones/react-native-audio-browser 0.1.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 (1065) hide show
  1. package/AudioBrowser.podspec +43 -0
  2. package/LICENSE +21 -0
  3. package/README.md +5 -0
  4. package/android/CMakeLists.txt +32 -0
  5. package/android/build.gradle +210 -0
  6. package/android/fix-prefab.gradle +51 -0
  7. package/android/gradle.properties +5 -0
  8. package/android/src/main/AndroidManifest.xml +36 -0
  9. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  10. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +1191 -0
  11. package/android/src/main/java/com/audiobrowser/AudioBrowserPackage.kt +21 -0
  12. package/android/src/main/java/com/audiobrowser/Callbacks.kt +92 -0
  13. package/android/src/main/java/com/audiobrowser/HeadlessTaskService.kt +59 -0
  14. package/android/src/main/java/com/audiobrowser/Service.kt +336 -0
  15. package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +1169 -0
  16. package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +103 -0
  17. package/android/src/main/java/com/audiobrowser/browser/RouteMatch.kt +9 -0
  18. package/android/src/main/java/com/audiobrowser/browser/SimpleRouter.kt +150 -0
  19. package/android/src/main/java/com/audiobrowser/extension/EnumExtensions.kt +5 -0
  20. package/android/src/main/java/com/audiobrowser/extension/NumberExt.kt +13 -0
  21. package/android/src/main/java/com/audiobrowser/http/HttpClient.kt +171 -0
  22. package/android/src/main/java/com/audiobrowser/http/RequestConfigBuilder.kt +251 -0
  23. package/android/src/main/java/com/audiobrowser/model/PlaybackMetadata.kt +80 -0
  24. package/android/src/main/java/com/audiobrowser/model/PlayerSetupOptions.kt +101 -0
  25. package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +125 -0
  26. package/android/src/main/java/com/audiobrowser/player/AutomaticBufferManager.kt +256 -0
  27. package/android/src/main/java/com/audiobrowser/player/DynamicLoadControl.kt +163 -0
  28. package/android/src/main/java/com/audiobrowser/player/MediaFactory.kt +177 -0
  29. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +580 -0
  30. package/android/src/main/java/com/audiobrowser/player/MediaSessionCommandManager.kt +578 -0
  31. package/android/src/main/java/com/audiobrowser/player/PlaybackProgressUpdateManager.kt +58 -0
  32. package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +245 -0
  33. package/android/src/main/java/com/audiobrowser/player/Player.kt +1509 -0
  34. package/android/src/main/java/com/audiobrowser/player/PlayerListener.kt +230 -0
  35. package/android/src/main/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicy.kt +191 -0
  36. package/android/src/main/java/com/audiobrowser/player/SleepTimer.kt +80 -0
  37. package/android/src/main/java/com/audiobrowser/util/AndroidAudioContentTypeFactory.kt +17 -0
  38. package/android/src/main/java/com/audiobrowser/util/BatteryOptimizationHelper.kt +95 -0
  39. package/android/src/main/java/com/audiobrowser/util/BatteryWarningStore.kt +38 -0
  40. package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +155 -0
  41. package/android/src/main/java/com/audiobrowser/util/CoilBitmapLoader.kt +390 -0
  42. package/android/src/main/java/com/audiobrowser/util/EqualizerManager.kt +197 -0
  43. package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +75 -0
  44. package/android/src/main/java/com/audiobrowser/util/MetadataAdapter.kt +97 -0
  45. package/android/src/main/java/com/audiobrowser/util/NetworkConnectivityMonitor.kt +121 -0
  46. package/android/src/main/java/com/audiobrowser/util/PlayingStateFactory.kt +25 -0
  47. package/android/src/main/java/com/audiobrowser/util/RatingFactory.kt +72 -0
  48. package/android/src/main/java/com/audiobrowser/util/RepeatModeFactory.kt +22 -0
  49. package/android/src/main/java/com/audiobrowser/util/ResolvedTrackFactory.kt +36 -0
  50. package/android/src/main/java/com/audiobrowser/util/SvgArtworkRenderer.kt +130 -0
  51. package/android/src/main/java/com/audiobrowser/util/SystemVolumeMonitor.kt +50 -0
  52. package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +125 -0
  53. package/android/src/main/res/values/strings.xml +6 -0
  54. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +273 -0
  55. package/android/src/test/java/com/audiobrowser/browser/SimpleBrowserTest.kt +33 -0
  56. package/android/src/test/java/com/audiobrowser/browser/SimpleRouterTest.kt +156 -0
  57. package/android/src/test/java/com/audiobrowser/http/RequestConfigBuilderTest.kt +240 -0
  58. package/ios/Bridge.h +8 -0
  59. package/ios/Browser/BrowserConfig.swift +85 -0
  60. package/ios/Browser/BrowserManager.swift +985 -0
  61. package/ios/Browser/BrowserPathHelper.swift +156 -0
  62. package/ios/Browser/JsonModels.swift +165 -0
  63. package/ios/Browser/SimpleRouter.swift +184 -0
  64. package/ios/CarPlay/CarPlayController.swift +1342 -0
  65. package/ios/CarPlay/RNABCarPlaySceneDelegate.h +15 -0
  66. package/ios/CarPlay/RNABCarPlaySceneDelegate.m +59 -0
  67. package/ios/CarPlay/Track+CarPlay.swift +49 -0
  68. package/ios/Extension/Capability+RemoteCommand.swift +76 -0
  69. package/ios/Extension/ChapterMetadata+AVFoundation.swift +37 -0
  70. package/ios/Extension/TimedMetadata+AVFoundation.swift +126 -0
  71. package/ios/Extension/Track+AVPlayer.swift +68 -0
  72. package/ios/Extension/TrackMetadata+AVFoundation.swift +128 -0
  73. package/ios/Http/HttpClient.swift +237 -0
  74. package/ios/HybridAudioBrowser.swift +1309 -0
  75. package/ios/Model/MediaURL.swift +66 -0
  76. package/ios/Model/PlayerUpdateOptions.swift +116 -0
  77. package/ios/Model/RemoteCommand.swift +71 -0
  78. package/ios/Model/SourceType.swift +6 -0
  79. package/ios/Model/TrackPlayerError.swift +69 -0
  80. package/ios/NowPlayingInfo/MediaItemProperty.swift +78 -0
  81. package/ios/NowPlayingInfo/NowPlayingInfoCenter.swift +9 -0
  82. package/ios/NowPlayingInfo/NowPlayingInfoController.swift +283 -0
  83. package/ios/NowPlayingInfo/NowPlayingInfoKeyValue.swift +6 -0
  84. package/ios/NowPlayingInfo/NowPlayingInfoProperty.swift +220 -0
  85. package/ios/Observer/PlayerItemNotificationObserver.swift +83 -0
  86. package/ios/Observer/PlayerItemPropertyObserver.swift +110 -0
  87. package/ios/Observer/PlayerStateObserver.swift +52 -0
  88. package/ios/Observer/PlayerTimeObserver.swift +109 -0
  89. package/ios/Option/PitchAlgorithms.swift +17 -0
  90. package/ios/Option/SessionCategories.swift +100 -0
  91. package/ios/Option/TimeEventFrequency.swift +18 -0
  92. package/ios/Player/PlaybackProgressUpdateManager.swift +60 -0
  93. package/ios/Player/PlayingStateManager.swift +29 -0
  94. package/ios/Player/RetryManager.swift +281 -0
  95. package/ios/Player/ShuffleOrder.swift +191 -0
  96. package/ios/Player/SleepTimerManager.swift +137 -0
  97. package/ios/RemoteCommand/RemoteCommandController.swift +400 -0
  98. package/ios/Support/RNTrackPlayer-Bridging-Header.h +7 -0
  99. package/ios/TrackPlayer.swift +1590 -0
  100. package/ios/TrackPlayerCallbacks.swift +121 -0
  101. package/ios/Util/Emitter.swift +46 -0
  102. package/ios/Util/LRUCache.swift +182 -0
  103. package/ios/Util/MetadataAdapter.swift +131 -0
  104. package/ios/Util/NetworkMonitor.swift +68 -0
  105. package/ios/Util/OnceValue.swift +70 -0
  106. package/ios/Util/SVGProcessor.swift +56 -0
  107. package/lib/commonjs/AudioBrowser.js +50 -0
  108. package/lib/commonjs/AudioBrowser.js.map +1 -0
  109. package/lib/commonjs/features/battery.js +154 -0
  110. package/lib/commonjs/features/battery.js.map +1 -0
  111. package/lib/commonjs/features/browser.js +271 -0
  112. package/lib/commonjs/features/browser.js.map +1 -0
  113. package/lib/commonjs/features/equalizer.js +69 -0
  114. package/lib/commonjs/features/equalizer.js.map +1 -0
  115. package/lib/commonjs/features/errors.js +165 -0
  116. package/lib/commonjs/features/errors.js.map +1 -0
  117. package/lib/commonjs/features/favorites.js +101 -0
  118. package/lib/commonjs/features/favorites.js.map +1 -0
  119. package/lib/commonjs/features/index.js +160 -0
  120. package/lib/commonjs/features/index.js.map +1 -0
  121. package/lib/commonjs/features/metadata.js +54 -0
  122. package/lib/commonjs/features/metadata.js.map +1 -0
  123. package/lib/commonjs/features/network.js +40 -0
  124. package/lib/commonjs/features/network.js.map +1 -0
  125. package/lib/commonjs/features/nowPlaying.js +61 -0
  126. package/lib/commonjs/features/nowPlaying.js.map +1 -0
  127. package/lib/commonjs/features/output.js +54 -0
  128. package/lib/commonjs/features/output.js.map +1 -0
  129. package/lib/commonjs/features/playback/controls.js +79 -0
  130. package/lib/commonjs/features/playback/controls.js.map +1 -0
  131. package/lib/commonjs/features/playback/index.js +83 -0
  132. package/lib/commonjs/features/playback/index.js.map +1 -0
  133. package/lib/commonjs/features/playback/playWhenReady.js +55 -0
  134. package/lib/commonjs/features/playback/playWhenReady.js.map +1 -0
  135. package/lib/commonjs/features/playback/playing.js +41 -0
  136. package/lib/commonjs/features/playback/playing.js.map +1 -0
  137. package/lib/commonjs/features/playback/progress.js +104 -0
  138. package/lib/commonjs/features/playback/progress.js.map +1 -0
  139. package/lib/commonjs/features/playback/rate.js +29 -0
  140. package/lib/commonjs/features/playback/rate.js.map +1 -0
  141. package/lib/commonjs/features/playback/state.js +62 -0
  142. package/lib/commonjs/features/playback/state.js.map +1 -0
  143. package/lib/commonjs/features/playback/volume.js +68 -0
  144. package/lib/commonjs/features/playback/volume.js.map +1 -0
  145. package/lib/commonjs/features/player/index.js +28 -0
  146. package/lib/commonjs/features/player/index.js.map +1 -0
  147. package/lib/commonjs/features/player/options.js +182 -0
  148. package/lib/commonjs/features/player/options.js.map +1 -0
  149. package/lib/commonjs/features/player/setup.js +143 -0
  150. package/lib/commonjs/features/player/setup.js.map +1 -0
  151. package/lib/commonjs/features/queue/activeTrack.js +52 -0
  152. package/lib/commonjs/features/queue/activeTrack.js.map +1 -0
  153. package/lib/commonjs/features/queue/index.js +50 -0
  154. package/lib/commonjs/features/queue/index.js.map +1 -0
  155. package/lib/commonjs/features/queue/queue.js +177 -0
  156. package/lib/commonjs/features/queue/queue.js.map +1 -0
  157. package/lib/commonjs/features/queue/repeatMode.js +58 -0
  158. package/lib/commonjs/features/queue/repeatMode.js.map +1 -0
  159. package/lib/commonjs/features/queue/shuffle.js +57 -0
  160. package/lib/commonjs/features/queue/shuffle.js.map +1 -0
  161. package/lib/commonjs/features/rating.js +2 -0
  162. package/lib/commonjs/features/rating.js.map +1 -0
  163. package/lib/commonjs/features/remoteControls.js +286 -0
  164. package/lib/commonjs/features/remoteControls.js.map +1 -0
  165. package/lib/commonjs/features/sleepTimer.js +164 -0
  166. package/lib/commonjs/features/sleepTimer.js.map +1 -0
  167. package/lib/commonjs/index.js +22 -0
  168. package/lib/commonjs/index.js.map +1 -0
  169. package/lib/commonjs/native.js +9 -0
  170. package/lib/commonjs/native.js.map +1 -0
  171. package/lib/commonjs/native.web.js +10 -0
  172. package/lib/commonjs/native.web.js.map +1 -0
  173. package/lib/commonjs/package.json +1 -0
  174. package/lib/commonjs/specs/audio-browser.nitro.js +6 -0
  175. package/lib/commonjs/specs/audio-browser.nitro.js.map +1 -0
  176. package/lib/commonjs/types/browser-native.js +6 -0
  177. package/lib/commonjs/types/browser-native.js.map +1 -0
  178. package/lib/commonjs/types/browser-nodes.js +6 -0
  179. package/lib/commonjs/types/browser-nodes.js.map +1 -0
  180. package/lib/commonjs/types/browser.js +6 -0
  181. package/lib/commonjs/types/browser.js.map +1 -0
  182. package/lib/commonjs/types/index.js +28 -0
  183. package/lib/commonjs/types/index.js.map +1 -0
  184. package/lib/commonjs/types/player.js +2 -0
  185. package/lib/commonjs/types/player.js.map +1 -0
  186. package/lib/commonjs/utils/LazyNativeEmitter.js +58 -0
  187. package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -0
  188. package/lib/commonjs/utils/NativeUpdatedValue.js +59 -0
  189. package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -0
  190. package/lib/commonjs/utils/resolveAssetSource.js +11 -0
  191. package/lib/commonjs/utils/resolveAssetSource.js.map +1 -0
  192. package/lib/commonjs/utils/useDebug.js +221 -0
  193. package/lib/commonjs/utils/useDebug.js.map +1 -0
  194. package/lib/commonjs/utils/useNativeUpdatedValue.js +44 -0
  195. package/lib/commonjs/utils/useNativeUpdatedValue.js.map +1 -0
  196. package/lib/commonjs/web/NativeAudioBrowser.js +668 -0
  197. package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -0
  198. package/lib/commonjs/web/SimpleRouter.js +144 -0
  199. package/lib/commonjs/web/SimpleRouter.js.map +1 -0
  200. package/lib/commonjs/web/TrackPlayer/Event.js +19 -0
  201. package/lib/commonjs/web/TrackPlayer/Event.js.map +1 -0
  202. package/lib/commonjs/web/TrackPlayer/Player.js +276 -0
  203. package/lib/commonjs/web/TrackPlayer/Player.js.map +1 -0
  204. package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js +284 -0
  205. package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js.map +1 -0
  206. package/lib/commonjs/web/TrackPlayer/RepeatMode.js +12 -0
  207. package/lib/commonjs/web/TrackPlayer/RepeatMode.js.map +1 -0
  208. package/lib/commonjs/web/TrackPlayer/SetupNotCalledError.js +13 -0
  209. package/lib/commonjs/web/TrackPlayer/SetupNotCalledError.js.map +1 -0
  210. package/lib/commonjs/web/TrackPlayer/SleepTimer.js +75 -0
  211. package/lib/commonjs/web/TrackPlayer/SleepTimer.js.map +1 -0
  212. package/lib/commonjs/web/TrackPlayer/State.js +18 -0
  213. package/lib/commonjs/web/TrackPlayer/State.js.map +1 -0
  214. package/lib/commonjs/web/TrackPlayer/index.js +52 -0
  215. package/lib/commonjs/web/TrackPlayer/index.js.map +1 -0
  216. package/lib/commonjs/web/browser/BrowserManager.js +594 -0
  217. package/lib/commonjs/web/browser/BrowserManager.js.map +1 -0
  218. package/lib/commonjs/web/browser/FavoriteManager.js +80 -0
  219. package/lib/commonjs/web/browser/FavoriteManager.js.map +1 -0
  220. package/lib/commonjs/web/browser/NavigationErrorManager.js +106 -0
  221. package/lib/commonjs/web/browser/NavigationErrorManager.js.map +1 -0
  222. package/lib/commonjs/web/browser/SearchManager.js +80 -0
  223. package/lib/commonjs/web/browser/SearchManager.js.map +1 -0
  224. package/lib/commonjs/web/http/HttpClient.js +81 -0
  225. package/lib/commonjs/web/http/HttpClient.js.map +1 -0
  226. package/lib/commonjs/web/http/RequestConfigBuilder.js +294 -0
  227. package/lib/commonjs/web/http/RequestConfigBuilder.js.map +1 -0
  228. package/lib/commonjs/web/player/NowPlayingManager.js +70 -0
  229. package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -0
  230. package/lib/commonjs/web/player/OptionsManager.js +88 -0
  231. package/lib/commonjs/web/player/OptionsManager.js.map +1 -0
  232. package/lib/commonjs/web/util/BrowserPathHelper.js +138 -0
  233. package/lib/commonjs/web/util/BrowserPathHelper.js.map +1 -0
  234. package/lib/commonjs/web/util/shuffle.js +21 -0
  235. package/lib/commonjs/web/util/shuffle.js.map +1 -0
  236. package/lib/module/AudioBrowser.js +7 -0
  237. package/lib/module/AudioBrowser.js.map +1 -0
  238. package/lib/module/features/battery.js +144 -0
  239. package/lib/module/features/battery.js.map +1 -0
  240. package/lib/module/features/browser.js +257 -0
  241. package/lib/module/features/browser.js.map +1 -0
  242. package/lib/module/features/equalizer.js +60 -0
  243. package/lib/module/features/equalizer.js.map +1 -0
  244. package/lib/module/features/errors.js +156 -0
  245. package/lib/module/features/errors.js.map +1 -0
  246. package/lib/module/features/favorites.js +95 -0
  247. package/lib/module/features/favorites.js.map +1 -0
  248. package/lib/module/features/index.js +26 -0
  249. package/lib/module/features/index.js.map +1 -0
  250. package/lib/module/features/metadata.js +51 -0
  251. package/lib/module/features/metadata.js.map +1 -0
  252. package/lib/module/features/network.js +35 -0
  253. package/lib/module/features/network.js.map +1 -0
  254. package/lib/module/features/nowPlaying.js +54 -0
  255. package/lib/module/features/nowPlaying.js.map +1 -0
  256. package/lib/module/features/output.js +47 -0
  257. package/lib/module/features/output.js.map +1 -0
  258. package/lib/module/features/playback/controls.js +69 -0
  259. package/lib/module/features/playback/controls.js.map +1 -0
  260. package/lib/module/features/playback/index.js +10 -0
  261. package/lib/module/features/playback/index.js.map +1 -0
  262. package/lib/module/features/playback/playWhenReady.js +49 -0
  263. package/lib/module/features/playback/playWhenReady.js.map +1 -0
  264. package/lib/module/features/playback/playing.js +36 -0
  265. package/lib/module/features/playback/playing.js.map +1 -0
  266. package/lib/module/features/playback/progress.js +98 -0
  267. package/lib/module/features/playback/progress.js.map +1 -0
  268. package/lib/module/features/playback/rate.js +25 -0
  269. package/lib/module/features/playback/rate.js.map +1 -0
  270. package/lib/module/features/playback/state.js +57 -0
  271. package/lib/module/features/playback/state.js.map +1 -0
  272. package/lib/module/features/playback/volume.js +60 -0
  273. package/lib/module/features/playback/volume.js.map +1 -0
  274. package/lib/module/features/player/index.js +5 -0
  275. package/lib/module/features/player/index.js.map +1 -0
  276. package/lib/module/features/player/options.js +176 -0
  277. package/lib/module/features/player/options.js.map +1 -0
  278. package/lib/module/features/player/setup.js +140 -0
  279. package/lib/module/features/player/setup.js.map +1 -0
  280. package/lib/module/features/queue/activeTrack.js +46 -0
  281. package/lib/module/features/queue/activeTrack.js.map +1 -0
  282. package/lib/module/features/queue/index.js +7 -0
  283. package/lib/module/features/queue/index.js.map +1 -0
  284. package/lib/module/features/queue/queue.js +162 -0
  285. package/lib/module/features/queue/queue.js.map +1 -0
  286. package/lib/module/features/queue/repeatMode.js +52 -0
  287. package/lib/module/features/queue/repeatMode.js.map +1 -0
  288. package/lib/module/features/queue/shuffle.js +50 -0
  289. package/lib/module/features/queue/shuffle.js.map +1 -0
  290. package/lib/module/features/rating.js +2 -0
  291. package/lib/module/features/rating.js.map +1 -0
  292. package/lib/module/features/remoteControls.js +275 -0
  293. package/lib/module/features/remoteControls.js.map +1 -0
  294. package/lib/module/features/sleepTimer.js +155 -0
  295. package/lib/module/features/sleepTimer.js.map +1 -0
  296. package/lib/module/index.js +6 -0
  297. package/lib/module/index.js.map +1 -0
  298. package/lib/module/native.js +5 -0
  299. package/lib/module/native.js.map +1 -0
  300. package/lib/module/native.web.js +7 -0
  301. package/lib/module/native.web.js.map +1 -0
  302. package/lib/module/package.json +1 -0
  303. package/lib/module/specs/audio-browser.nitro.js +4 -0
  304. package/lib/module/specs/audio-browser.nitro.js.map +1 -0
  305. package/lib/module/types/browser-native.js +4 -0
  306. package/lib/module/types/browser-native.js.map +1 -0
  307. package/lib/module/types/browser-nodes.js +4 -0
  308. package/lib/module/types/browser-nodes.js.map +1 -0
  309. package/lib/module/types/browser.js +4 -0
  310. package/lib/module/types/browser.js.map +1 -0
  311. package/lib/module/types/index.js +5 -0
  312. package/lib/module/types/index.js.map +1 -0
  313. package/lib/module/types/player.js +2 -0
  314. package/lib/module/types/player.js.map +1 -0
  315. package/lib/module/utils/LazyNativeEmitter.js +53 -0
  316. package/lib/module/utils/LazyNativeEmitter.js.map +1 -0
  317. package/lib/module/utils/NativeUpdatedValue.js +54 -0
  318. package/lib/module/utils/NativeUpdatedValue.js.map +1 -0
  319. package/lib/module/utils/resolveAssetSource.js +7 -0
  320. package/lib/module/utils/resolveAssetSource.js.map +1 -0
  321. package/lib/module/utils/useDebug.js +218 -0
  322. package/lib/module/utils/useDebug.js.map +1 -0
  323. package/lib/module/utils/useNativeUpdatedValue.js +40 -0
  324. package/lib/module/utils/useNativeUpdatedValue.js.map +1 -0
  325. package/lib/module/web/NativeAudioBrowser.js +664 -0
  326. package/lib/module/web/NativeAudioBrowser.js.map +1 -0
  327. package/lib/module/web/SimpleRouter.js +139 -0
  328. package/lib/module/web/SimpleRouter.js.map +1 -0
  329. package/lib/module/web/TrackPlayer/Event.js +15 -0
  330. package/lib/module/web/TrackPlayer/Event.js.map +1 -0
  331. package/lib/module/web/TrackPlayer/Player.js +271 -0
  332. package/lib/module/web/TrackPlayer/Player.js.map +1 -0
  333. package/lib/module/web/TrackPlayer/PlaylistPlayer.js +279 -0
  334. package/lib/module/web/TrackPlayer/PlaylistPlayer.js.map +1 -0
  335. package/lib/module/web/TrackPlayer/RepeatMode.js +8 -0
  336. package/lib/module/web/TrackPlayer/RepeatMode.js.map +1 -0
  337. package/lib/module/web/TrackPlayer/SetupNotCalledError.js +8 -0
  338. package/lib/module/web/TrackPlayer/SetupNotCalledError.js.map +1 -0
  339. package/lib/module/web/TrackPlayer/SleepTimer.js +70 -0
  340. package/lib/module/web/TrackPlayer/SleepTimer.js.map +1 -0
  341. package/lib/module/web/TrackPlayer/State.js +14 -0
  342. package/lib/module/web/TrackPlayer/State.js.map +1 -0
  343. package/lib/module/web/TrackPlayer/index.js +7 -0
  344. package/lib/module/web/TrackPlayer/index.js.map +1 -0
  345. package/lib/module/web/browser/BrowserManager.js +590 -0
  346. package/lib/module/web/browser/BrowserManager.js.map +1 -0
  347. package/lib/module/web/browser/FavoriteManager.js +75 -0
  348. package/lib/module/web/browser/FavoriteManager.js.map +1 -0
  349. package/lib/module/web/browser/NavigationErrorManager.js +101 -0
  350. package/lib/module/web/browser/NavigationErrorManager.js.map +1 -0
  351. package/lib/module/web/browser/SearchManager.js +76 -0
  352. package/lib/module/web/browser/SearchManager.js.map +1 -0
  353. package/lib/module/web/http/HttpClient.js +76 -0
  354. package/lib/module/web/http/HttpClient.js.map +1 -0
  355. package/lib/module/web/http/RequestConfigBuilder.js +291 -0
  356. package/lib/module/web/http/RequestConfigBuilder.js.map +1 -0
  357. package/lib/module/web/player/NowPlayingManager.js +65 -0
  358. package/lib/module/web/player/NowPlayingManager.js.map +1 -0
  359. package/lib/module/web/player/OptionsManager.js +83 -0
  360. package/lib/module/web/player/OptionsManager.js.map +1 -0
  361. package/lib/module/web/util/BrowserPathHelper.js +134 -0
  362. package/lib/module/web/util/BrowserPathHelper.js.map +1 -0
  363. package/lib/module/web/util/shuffle.js +17 -0
  364. package/lib/module/web/util/shuffle.js.map +1 -0
  365. package/lib/typescript/src/AudioBrowser.d.ts +5 -0
  366. package/lib/typescript/src/AudioBrowser.d.ts.map +1 -0
  367. package/lib/typescript/src/features/battery.d.ts +112 -0
  368. package/lib/typescript/src/features/battery.d.ts.map +1 -0
  369. package/lib/typescript/src/features/browser.d.ts +68 -0
  370. package/lib/typescript/src/features/browser.d.ts.map +1 -0
  371. package/lib/typescript/src/features/equalizer.d.ts +35 -0
  372. package/lib/typescript/src/features/equalizer.d.ts.map +1 -0
  373. package/lib/typescript/src/features/errors.d.ts +136 -0
  374. package/lib/typescript/src/features/errors.d.ts.map +1 -0
  375. package/lib/typescript/src/features/favorites.d.ts +84 -0
  376. package/lib/typescript/src/features/favorites.d.ts.map +1 -0
  377. package/lib/typescript/src/features/index.d.ts +23 -0
  378. package/lib/typescript/src/features/index.d.ts.map +1 -0
  379. package/lib/typescript/src/features/metadata.d.ts +103 -0
  380. package/lib/typescript/src/features/metadata.d.ts.map +1 -0
  381. package/lib/typescript/src/features/network.d.ts +18 -0
  382. package/lib/typescript/src/features/network.d.ts.map +1 -0
  383. package/lib/typescript/src/features/nowPlaying.d.ts +36 -0
  384. package/lib/typescript/src/features/nowPlaying.d.ts.map +1 -0
  385. package/lib/typescript/src/features/output.d.ts +28 -0
  386. package/lib/typescript/src/features/output.d.ts.map +1 -0
  387. package/lib/typescript/src/features/playback/controls.d.ts +40 -0
  388. package/lib/typescript/src/features/playback/controls.d.ts.map +1 -0
  389. package/lib/typescript/src/features/playback/index.d.ts +8 -0
  390. package/lib/typescript/src/features/playback/index.d.ts.map +1 -0
  391. package/lib/typescript/src/features/playback/playWhenReady.d.ts +30 -0
  392. package/lib/typescript/src/features/playback/playWhenReady.d.ts.map +1 -0
  393. package/lib/typescript/src/features/playback/playing.d.ts +21 -0
  394. package/lib/typescript/src/features/playback/playing.d.ts.map +1 -0
  395. package/lib/typescript/src/features/playback/progress.d.ts +51 -0
  396. package/lib/typescript/src/features/playback/progress.d.ts.map +1 -0
  397. package/lib/typescript/src/features/playback/rate.d.ts +12 -0
  398. package/lib/typescript/src/features/playback/rate.d.ts.map +1 -0
  399. package/lib/typescript/src/features/playback/state.d.ts +43 -0
  400. package/lib/typescript/src/features/playback/state.d.ts.map +1 -0
  401. package/lib/typescript/src/features/playback/volume.d.ts +32 -0
  402. package/lib/typescript/src/features/playback/volume.d.ts.map +1 -0
  403. package/lib/typescript/src/features/player/index.d.ts +3 -0
  404. package/lib/typescript/src/features/player/index.d.ts.map +1 -0
  405. package/lib/typescript/src/features/player/options.d.ts +413 -0
  406. package/lib/typescript/src/features/player/options.d.ts.map +1 -0
  407. package/lib/typescript/src/features/player/setup.d.ts +471 -0
  408. package/lib/typescript/src/features/player/setup.d.ts.map +1 -0
  409. package/lib/typescript/src/features/queue/activeTrack.d.ts +38 -0
  410. package/lib/typescript/src/features/queue/activeTrack.d.ts.map +1 -0
  411. package/lib/typescript/src/features/queue/index.d.ts +5 -0
  412. package/lib/typescript/src/features/queue/index.d.ts.map +1 -0
  413. package/lib/typescript/src/features/queue/queue.d.ts +111 -0
  414. package/lib/typescript/src/features/queue/queue.d.ts.map +1 -0
  415. package/lib/typescript/src/features/queue/repeatMode.d.ts +34 -0
  416. package/lib/typescript/src/features/queue/repeatMode.d.ts.map +1 -0
  417. package/lib/typescript/src/features/queue/shuffle.d.ts +27 -0
  418. package/lib/typescript/src/features/queue/shuffle.d.ts.map +1 -0
  419. package/lib/typescript/src/features/rating.d.ts +14 -0
  420. package/lib/typescript/src/features/rating.d.ts.map +1 -0
  421. package/lib/typescript/src/features/remoteControls.d.ts +164 -0
  422. package/lib/typescript/src/features/remoteControls.d.ts.map +1 -0
  423. package/lib/typescript/src/features/sleepTimer.d.ts +80 -0
  424. package/lib/typescript/src/features/sleepTimer.d.ts.map +1 -0
  425. package/lib/typescript/src/index.d.ts +4 -0
  426. package/lib/typescript/src/index.d.ts.map +1 -0
  427. package/lib/typescript/src/native.d.ts +3 -0
  428. package/lib/typescript/src/native.d.ts.map +1 -0
  429. package/lib/typescript/src/native.web.d.ts +3 -0
  430. package/lib/typescript/src/native.web.d.ts.map +1 -0
  431. package/lib/typescript/src/specs/audio-browser.nitro.d.ts +242 -0
  432. package/lib/typescript/src/specs/audio-browser.nitro.d.ts.map +1 -0
  433. package/lib/typescript/src/types/browser-native.d.ts +39 -0
  434. package/lib/typescript/src/types/browser-native.d.ts.map +1 -0
  435. package/lib/typescript/src/types/browser-nodes.d.ts +153 -0
  436. package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -0
  437. package/lib/typescript/src/types/browser.d.ts +710 -0
  438. package/lib/typescript/src/types/browser.d.ts.map +1 -0
  439. package/lib/typescript/src/types/index.d.ts +3 -0
  440. package/lib/typescript/src/types/index.d.ts.map +1 -0
  441. package/lib/typescript/src/types/player.d.ts +64 -0
  442. package/lib/typescript/src/types/player.d.ts.map +1 -0
  443. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +35 -0
  444. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -0
  445. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +39 -0
  446. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -0
  447. package/lib/typescript/src/utils/resolveAssetSource.d.ts +4 -0
  448. package/lib/typescript/src/utils/resolveAssetSource.d.ts.map +1 -0
  449. package/lib/typescript/src/utils/useDebug.d.ts +65 -0
  450. package/lib/typescript/src/utils/useDebug.d.ts.map +1 -0
  451. package/lib/typescript/src/utils/useNativeUpdatedValue.d.ts +14 -0
  452. package/lib/typescript/src/utils/useNativeUpdatedValue.d.ts.map +1 -0
  453. package/lib/typescript/src/web/NativeAudioBrowser.d.ts +176 -0
  454. package/lib/typescript/src/web/NativeAudioBrowser.d.ts.map +1 -0
  455. package/lib/typescript/src/web/SimpleRouter.d.ts +40 -0
  456. package/lib/typescript/src/web/SimpleRouter.d.ts.map +1 -0
  457. package/lib/typescript/src/web/TrackPlayer/Event.d.ts +11 -0
  458. package/lib/typescript/src/web/TrackPlayer/Event.d.ts.map +1 -0
  459. package/lib/typescript/src/web/TrackPlayer/Player.d.ts +71 -0
  460. package/lib/typescript/src/web/TrackPlayer/Player.d.ts.map +1 -0
  461. package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts +39 -0
  462. package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts.map +1 -0
  463. package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts +6 -0
  464. package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts.map +1 -0
  465. package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts +4 -0
  466. package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts.map +1 -0
  467. package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts +34 -0
  468. package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts.map +1 -0
  469. package/lib/typescript/src/web/TrackPlayer/State.d.ts +13 -0
  470. package/lib/typescript/src/web/TrackPlayer/State.d.ts.map +1 -0
  471. package/lib/typescript/src/web/TrackPlayer/index.d.ts +5 -0
  472. package/lib/typescript/src/web/TrackPlayer/index.d.ts.map +1 -0
  473. package/lib/typescript/src/web/browser/BrowserManager.d.ts +154 -0
  474. package/lib/typescript/src/web/browser/BrowserManager.d.ts.map +1 -0
  475. package/lib/typescript/src/web/browser/FavoriteManager.d.ts +42 -0
  476. package/lib/typescript/src/web/browser/FavoriteManager.d.ts.map +1 -0
  477. package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts +40 -0
  478. package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts.map +1 -0
  479. package/lib/typescript/src/web/browser/SearchManager.d.ts +22 -0
  480. package/lib/typescript/src/web/browser/SearchManager.d.ts.map +1 -0
  481. package/lib/typescript/src/web/http/HttpClient.d.ts +25 -0
  482. package/lib/typescript/src/web/http/HttpClient.d.ts.map +1 -0
  483. package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts +98 -0
  484. package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts.map +1 -0
  485. package/lib/typescript/src/web/player/NowPlayingManager.d.ts +34 -0
  486. package/lib/typescript/src/web/player/NowPlayingManager.d.ts.map +1 -0
  487. package/lib/typescript/src/web/player/OptionsManager.d.ts +32 -0
  488. package/lib/typescript/src/web/player/OptionsManager.d.ts.map +1 -0
  489. package/lib/typescript/src/web/util/BrowserPathHelper.d.ts +69 -0
  490. package/lib/typescript/src/web/util/BrowserPathHelper.d.ts.map +1 -0
  491. package/lib/typescript/src/web/util/shuffle.d.ts +8 -0
  492. package/lib/typescript/src/web/util/shuffle.d.ts.map +1 -0
  493. package/nitro.json +24 -0
  494. package/nitrogen/generated/.gitattributes +1 -0
  495. package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +88 -0
  496. package/nitrogen/generated/android/AudioBrowser+autolinking.gradle +27 -0
  497. package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +124 -0
  498. package/nitrogen/generated/android/AudioBrowserOnLoad.hpp +25 -0
  499. package/nitrogen/generated/android/c++/JAndroidAudioContentType.hpp +68 -0
  500. package/nitrogen/generated/android/c++/JAndroidAudioOffloadSettings.hpp +61 -0
  501. package/nitrogen/generated/android/c++/JAndroidOptions.hpp +86 -0
  502. package/nitrogen/generated/android/c++/JAndroidPlayerWakeMode.hpp +62 -0
  503. package/nitrogen/generated/android/c++/JAndroidUpdateOptions.hpp +86 -0
  504. package/nitrogen/generated/android/c++/JAppKilledPlaybackBehavior.hpp +62 -0
  505. package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +163 -0
  506. package/nitrogen/generated/android/c++/JBatteryOptimizationStatus.hpp +62 -0
  507. package/nitrogen/generated/android/c++/JBatteryOptimizationStatusChangedEvent.hpp +58 -0
  508. package/nitrogen/generated/android/c++/JBatteryWarningPendingChangedEvent.hpp +57 -0
  509. package/nitrogen/generated/android/c++/JBrowseError.hpp +57 -0
  510. package/nitrogen/generated/android/c++/JBrowseResult.cpp +26 -0
  511. package/nitrogen/generated/android/c++/JBrowseResult.hpp +83 -0
  512. package/nitrogen/generated/android/c++/JBrowserSourceCallbackParam.hpp +76 -0
  513. package/nitrogen/generated/android/c++/JCarPlayNowPlayingButton.hpp +65 -0
  514. package/nitrogen/generated/android/c++/JChapterMetadata.hpp +70 -0
  515. package/nitrogen/generated/android/c++/JEqualizerSettings.hpp +125 -0
  516. package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +71 -0
  517. package/nitrogen/generated/android/c++/JFormatNavigationErrorParams.hpp +72 -0
  518. package/nitrogen/generated/android/c++/JFormattedNavigationError.hpp +61 -0
  519. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams.hpp +111 -0
  520. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____MediaTransformParams.hpp +134 -0
  521. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____RequestConfig_std__optional_std__unordered_map_std__string__std__string__.hpp +143 -0
  522. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +136 -0
  523. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.hpp +143 -0
  524. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +157 -0
  525. package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  526. package/nitrogen/generated/android/c++/JFunc_void_BatteryOptimizationStatusChangedEvent.hpp +79 -0
  527. package/nitrogen/generated/android/c++/JFunc_void_BatteryWarningPendingChangedEvent.hpp +77 -0
  528. package/nitrogen/generated/android/c++/JFunc_void_EqualizerSettings.hpp +80 -0
  529. package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +88 -0
  530. package/nitrogen/generated/android/c++/JFunc_void_IosOutput.hpp +80 -0
  531. package/nitrogen/generated/android/c++/JFunc_void_NavigationErrorEvent.hpp +83 -0
  532. package/nitrogen/generated/android/c++/JFunc_void_NowPlayingMetadata.hpp +89 -0
  533. package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +98 -0
  534. package/nitrogen/generated/android/c++/JFunc_void_Playback.hpp +83 -0
  535. package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +88 -0
  536. package/nitrogen/generated/android/c++/JFunc_void_PlaybackErrorEvent.hpp +81 -0
  537. package/nitrogen/generated/android/c++/JFunc_void_PlaybackPlayWhenReadyChangedEvent.hpp +77 -0
  538. package/nitrogen/generated/android/c++/JFunc_void_PlaybackProgressUpdatedEvent.hpp +77 -0
  539. package/nitrogen/generated/android/c++/JFunc_void_PlaybackQueueEndedEvent.hpp +77 -0
  540. package/nitrogen/generated/android/c++/JFunc_void_PlayingState.hpp +77 -0
  541. package/nitrogen/generated/android/c++/JFunc_void_RemoteJumpBackwardEvent.hpp +77 -0
  542. package/nitrogen/generated/android/c++/JFunc_void_RemoteJumpForwardEvent.hpp +77 -0
  543. package/nitrogen/generated/android/c++/JFunc_void_RemotePlayIdEvent.hpp +79 -0
  544. package/nitrogen/generated/android/c++/JFunc_void_RemotePlaySearchEvent.hpp +78 -0
  545. package/nitrogen/generated/android/c++/JFunc_void_RemoteSeekEvent.hpp +77 -0
  546. package/nitrogen/generated/android/c++/JFunc_void_RemoteSetRatingEvent.hpp +87 -0
  547. package/nitrogen/generated/android/c++/JFunc_void_RemoteSkipEvent.hpp +77 -0
  548. package/nitrogen/generated/android/c++/JFunc_void_RepeatModeChangedEvent.hpp +79 -0
  549. package/nitrogen/generated/android/c++/JFunc_void_TimedMetadata.hpp +79 -0
  550. package/nitrogen/generated/android/c++/JFunc_void_TrackMetadata.hpp +79 -0
  551. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +75 -0
  552. package/nitrogen/generated/android/c++/JFunc_void_double.hpp +75 -0
  553. package/nitrogen/generated/android/c++/JFunc_void_std__optional_FormattedNavigationError_.hpp +79 -0
  554. package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +89 -0
  555. package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__SleepTimerTime__SleepTimerEndOfTrack__.hpp +84 -0
  556. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +76 -0
  557. package/nitrogen/generated/android/c++/JFunc_void_std__vector_ChapterMetadata_.hpp +98 -0
  558. package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +105 -0
  559. package/nitrogen/generated/android/c++/JHeartRating.hpp +57 -0
  560. package/nitrogen/generated/android/c++/JHttpMethod.hpp +74 -0
  561. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +1811 -0
  562. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.hpp +250 -0
  563. package/nitrogen/generated/android/c++/JIOSCategory.hpp +71 -0
  564. package/nitrogen/generated/android/c++/JIOSCategoryMode.hpp +80 -0
  565. package/nitrogen/generated/android/c++/JIOSCategoryOptions.hpp +74 -0
  566. package/nitrogen/generated/android/c++/JIOSCategoryPolicy.hpp +62 -0
  567. package/nitrogen/generated/android/c++/JImageContext.hpp +61 -0
  568. package/nitrogen/generated/android/c++/JImageQueryParams.hpp +62 -0
  569. package/nitrogen/generated/android/c++/JImageSource.hpp +86 -0
  570. package/nitrogen/generated/android/c++/JIosOutput.hpp +67 -0
  571. package/nitrogen/generated/android/c++/JIosOutputType.hpp +86 -0
  572. package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +153 -0
  573. package/nitrogen/generated/android/c++/JMediaTransformParams.hpp +69 -0
  574. package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +196 -0
  575. package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +147 -0
  576. package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +105 -0
  577. package/nitrogen/generated/android/c++/JNavigationError.hpp +72 -0
  578. package/nitrogen/generated/android/c++/JNavigationErrorEvent.hpp +62 -0
  579. package/nitrogen/generated/android/c++/JNavigationErrorType.hpp +68 -0
  580. package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +86 -0
  581. package/nitrogen/generated/android/c++/JNotificationButton.hpp +68 -0
  582. package/nitrogen/generated/android/c++/JNotificationButtonLayout.hpp +94 -0
  583. package/nitrogen/generated/android/c++/JNowPlayingMetadata.hpp +104 -0
  584. package/nitrogen/generated/android/c++/JNowPlayingUpdate.hpp +62 -0
  585. package/nitrogen/generated/android/c++/JOptions.hpp +97 -0
  586. package/nitrogen/generated/android/c++/JPartialAndroidSetupPlayerOptions.hpp +104 -0
  587. package/nitrogen/generated/android/c++/JPartialIOSSetupPlayerOptions.hpp +100 -0
  588. package/nitrogen/generated/android/c++/JPartialSetupPlayerOptions.hpp +96 -0
  589. package/nitrogen/generated/android/c++/JPercentageRating.hpp +57 -0
  590. package/nitrogen/generated/android/c++/JPlayback.hpp +66 -0
  591. package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +83 -0
  592. package/nitrogen/generated/android/c++/JPlaybackError.hpp +61 -0
  593. package/nitrogen/generated/android/c++/JPlaybackErrorEvent.hpp +60 -0
  594. package/nitrogen/generated/android/c++/JPlaybackPlayWhenReadyChangedEvent.hpp +57 -0
  595. package/nitrogen/generated/android/c++/JPlaybackProgressUpdatedEvent.hpp +69 -0
  596. package/nitrogen/generated/android/c++/JPlaybackQueueEndedEvent.hpp +61 -0
  597. package/nitrogen/generated/android/c++/JPlaybackState.hpp +80 -0
  598. package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +101 -0
  599. package/nitrogen/generated/android/c++/JPlayingState.hpp +61 -0
  600. package/nitrogen/generated/android/c++/JProgress.hpp +65 -0
  601. package/nitrogen/generated/android/c++/JRatingType.hpp +74 -0
  602. package/nitrogen/generated/android/c++/JRemoteJumpBackwardEvent.hpp +57 -0
  603. package/nitrogen/generated/android/c++/JRemoteJumpForwardEvent.hpp +57 -0
  604. package/nitrogen/generated/android/c++/JRemotePlayIdEvent.hpp +62 -0
  605. package/nitrogen/generated/android/c++/JRemotePlaySearchEvent.hpp +57 -0
  606. package/nitrogen/generated/android/c++/JRemoteSeekEvent.hpp +57 -0
  607. package/nitrogen/generated/android/c++/JRemoteSetRatingEvent.hpp +66 -0
  608. package/nitrogen/generated/android/c++/JRemoteSkipEvent.hpp +57 -0
  609. package/nitrogen/generated/android/c++/JRepeatMode.hpp +62 -0
  610. package/nitrogen/generated/android/c++/JRepeatModeChangedEvent.hpp +58 -0
  611. package/nitrogen/generated/android/c++/JRequestConfig.hpp +115 -0
  612. package/nitrogen/generated/android/c++/JResolvedTrack.hpp +154 -0
  613. package/nitrogen/generated/android/c++/JRetryConfig.hpp +61 -0
  614. package/nitrogen/generated/android/c++/JSearchMode.hpp +71 -0
  615. package/nitrogen/generated/android/c++/JSearchParams.hpp +84 -0
  616. package/nitrogen/generated/android/c++/JSleepTimer.cpp +30 -0
  617. package/nitrogen/generated/android/c++/JSleepTimer.hpp +88 -0
  618. package/nitrogen/generated/android/c++/JSleepTimerEndOfTrack.hpp +57 -0
  619. package/nitrogen/generated/android/c++/JSleepTimerTime.hpp +57 -0
  620. package/nitrogen/generated/android/c++/JStarRating.hpp +57 -0
  621. package/nitrogen/generated/android/c++/JThumbsRating.hpp +57 -0
  622. package/nitrogen/generated/android/c++/JTimedMetadata.hpp +74 -0
  623. package/nitrogen/generated/android/c++/JTrack.hpp +129 -0
  624. package/nitrogen/generated/android/c++/JTrackMetadata.hpp +118 -0
  625. package/nitrogen/generated/android/c++/JTrackStyle.hpp +59 -0
  626. package/nitrogen/generated/android/c++/JTransformableRequestConfig.hpp +134 -0
  627. package/nitrogen/generated/android/c++/JUpdateOptions.hpp +105 -0
  628. package/nitrogen/generated/android/c++/JVariant_Boolean_AndroidAudioOffloadSettings.cpp +26 -0
  629. package/nitrogen/generated/android/c++/JVariant_Boolean_AndroidAudioOffloadSettings.hpp +70 -0
  630. package/nitrogen/generated/android/c++/JVariant_Boolean_RetryConfig.cpp +26 -0
  631. package/nitrogen/generated/android/c++/JVariant_Boolean_RetryConfig.hpp +70 -0
  632. package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.cpp +34 -0
  633. package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.hpp +105 -0
  634. package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +26 -0
  635. package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +69 -0
  636. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.cpp +26 -0
  637. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.hpp +75 -0
  638. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidAudioContentType.kt +24 -0
  639. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidAudioOffloadSettings.kt +41 -0
  640. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidOptions.kt +50 -0
  641. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidPlayerWakeMode.kt +22 -0
  642. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidUpdateOptions.kt +50 -0
  643. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AppKilledPlaybackBehavior.kt +22 -0
  644. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkRequestConfig.kt +72 -0
  645. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AudioBrowserOnLoad.kt +35 -0
  646. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BatteryOptimizationStatus.kt +22 -0
  647. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BatteryOptimizationStatusChangedEvent.kt +38 -0
  648. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BatteryWarningPendingChangedEvent.kt +38 -0
  649. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BrowseError.kt +38 -0
  650. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BrowseResult.kt +59 -0
  651. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BrowserSourceCallbackParam.kt +41 -0
  652. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayNowPlayingButton.kt +23 -0
  653. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ChapterMetadata.kt +47 -0
  654. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/EqualizerSettings.kt +59 -0
  655. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FavoriteChangedEvent.kt +41 -0
  656. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormatNavigationErrorParams.kt +44 -0
  657. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormattedNavigationError.kt +41 -0
  658. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams.kt +80 -0
  659. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____MediaTransformParams.kt +80 -0
  660. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____RequestConfig_std__optional_std__unordered_map_std__string__std__string__.kt +80 -0
  661. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.kt +80 -0
  662. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.kt +80 -0
  663. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.kt +80 -0
  664. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void.kt +80 -0
  665. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_BatteryOptimizationStatusChangedEvent.kt +80 -0
  666. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_BatteryWarningPendingChangedEvent.kt +80 -0
  667. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_EqualizerSettings.kt +80 -0
  668. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_FavoriteChangedEvent.kt +80 -0
  669. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_IosOutput.kt +80 -0
  670. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_NavigationErrorEvent.kt +80 -0
  671. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_NowPlayingMetadata.kt +80 -0
  672. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_Options.kt +80 -0
  673. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_Playback.kt +80 -0
  674. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackActiveTrackChangedEvent.kt +80 -0
  675. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackErrorEvent.kt +80 -0
  676. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackPlayWhenReadyChangedEvent.kt +80 -0
  677. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackProgressUpdatedEvent.kt +80 -0
  678. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackQueueEndedEvent.kt +80 -0
  679. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlayingState.kt +80 -0
  680. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteJumpBackwardEvent.kt +80 -0
  681. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteJumpForwardEvent.kt +80 -0
  682. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemotePlayIdEvent.kt +80 -0
  683. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemotePlaySearchEvent.kt +80 -0
  684. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteSeekEvent.kt +80 -0
  685. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteSetRatingEvent.kt +80 -0
  686. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteSkipEvent.kt +80 -0
  687. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RepeatModeChangedEvent.kt +80 -0
  688. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_TimedMetadata.kt +80 -0
  689. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_TrackMetadata.kt +80 -0
  690. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_bool.kt +80 -0
  691. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_double.kt +80 -0
  692. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__optional_FormattedNavigationError_.kt +80 -0
  693. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__optional_ResolvedTrack_.kt +80 -0
  694. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__optional_std__variant_nitro__NullType__SleepTimerTime__SleepTimerEndOfTrack__.kt +80 -0
  695. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__string.kt +80 -0
  696. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__vector_ChapterMetadata_.kt +80 -0
  697. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__vector_Track_.kt +80 -0
  698. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HeartRating.kt +38 -0
  699. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HttpMethod.kt +26 -0
  700. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HybridAudioBrowserSpec.kt +1137 -0
  701. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSCategory.kt +25 -0
  702. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSCategoryMode.kt +28 -0
  703. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSCategoryOptions.kt +26 -0
  704. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSCategoryPolicy.kt +22 -0
  705. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageContext.kt +41 -0
  706. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageQueryParams.kt +41 -0
  707. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageSource.kt +47 -0
  708. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IosOutput.kt +44 -0
  709. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IosOutputType.kt +30 -0
  710. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaRequestConfig.kt +69 -0
  711. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaTransformParams.kt +41 -0
  712. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +69 -0
  713. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeRouteEntry.kt +63 -0
  714. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeUpdateOptions.kt +53 -0
  715. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationError.kt +47 -0
  716. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorEvent.kt +38 -0
  717. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorType.kt +24 -0
  718. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +50 -0
  719. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButton.kt +24 -0
  720. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButtonLayout.kt +50 -0
  721. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingMetadata.kt +65 -0
  722. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingUpdate.kt +41 -0
  723. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Options.kt +53 -0
  724. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PartialAndroidSetupPlayerOptions.kt +65 -0
  725. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PartialIOSSetupPlayerOptions.kt +50 -0
  726. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PartialSetupPlayerOptions.kt +47 -0
  727. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PercentageRating.kt +38 -0
  728. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Playback.kt +41 -0
  729. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackActiveTrackChangedEvent.kt +50 -0
  730. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackError.kt +41 -0
  731. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackErrorEvent.kt +38 -0
  732. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackPlayWhenReadyChangedEvent.kt +38 -0
  733. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackProgressUpdatedEvent.kt +47 -0
  734. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackQueueEndedEvent.kt +41 -0
  735. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackState.kt +28 -0
  736. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayerCapabilities.kt +71 -0
  737. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayingState.kt +41 -0
  738. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Progress.kt +44 -0
  739. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RatingType.kt +26 -0
  740. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteJumpBackwardEvent.kt +38 -0
  741. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteJumpForwardEvent.kt +38 -0
  742. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemotePlayIdEvent.kt +41 -0
  743. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemotePlaySearchEvent.kt +38 -0
  744. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteSeekEvent.kt +38 -0
  745. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteSetRatingEvent.kt +38 -0
  746. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteSkipEvent.kt +38 -0
  747. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RepeatMode.kt +22 -0
  748. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RepeatModeChangedEvent.kt +38 -0
  749. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RequestConfig.kt +59 -0
  750. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ResolvedTrack.kt +89 -0
  751. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RetryConfig.kt +41 -0
  752. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchMode.kt +25 -0
  753. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchParams.kt +56 -0
  754. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SleepTimer.kt +72 -0
  755. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SleepTimerEndOfTrack.kt +38 -0
  756. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SleepTimerTime.kt +38 -0
  757. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StarRating.kt +38 -0
  758. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ThumbsRating.kt +38 -0
  759. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TimedMetadata.kt +50 -0
  760. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +86 -0
  761. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackMetadata.kt +83 -0
  762. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackStyle.kt +21 -0
  763. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TransformableRequestConfig.kt +66 -0
  764. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/UpdateOptions.kt +53 -0
  765. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_AndroidAudioOffloadSettings.kt +59 -0
  766. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_RetryConfig.kt +59 -0
  767. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.kt +85 -0
  768. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_NullType_Double.kt +59 -0
  769. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_NullType_NotificationButtonLayout.kt +59 -0
  770. package/nitrogen/generated/ios/AudioBrowser+autolinking.rb +60 -0
  771. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +407 -0
  772. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +2822 -0
  773. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +300 -0
  774. package/nitrogen/generated/ios/AudioBrowserAutolinking.mm +33 -0
  775. package/nitrogen/generated/ios/AudioBrowserAutolinking.swift +25 -0
  776. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.cpp +11 -0
  777. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +1190 -0
  778. package/nitrogen/generated/ios/swift/AndroidAudioContentType.swift +52 -0
  779. package/nitrogen/generated/ios/swift/AndroidAudioOffloadSettings.swift +85 -0
  780. package/nitrogen/generated/ios/swift/AndroidOptions.swift +125 -0
  781. package/nitrogen/generated/ios/swift/AndroidPlayerWakeMode.swift +44 -0
  782. package/nitrogen/generated/ios/swift/AndroidUpdateOptions.swift +187 -0
  783. package/nitrogen/generated/ios/swift/AppKilledPlaybackBehavior.swift +44 -0
  784. package/nitrogen/generated/ios/swift/ArtworkRequestConfig.swift +445 -0
  785. package/nitrogen/generated/ios/swift/BatteryOptimizationStatus.swift +44 -0
  786. package/nitrogen/generated/ios/swift/BatteryOptimizationStatusChangedEvent.swift +36 -0
  787. package/nitrogen/generated/ios/swift/BatteryWarningPendingChangedEvent.swift +36 -0
  788. package/nitrogen/generated/ios/swift/BrowseError.swift +36 -0
  789. package/nitrogen/generated/ios/swift/BrowseResult.swift +18 -0
  790. package/nitrogen/generated/ios/swift/BrowserSourceCallbackParam.swift +86 -0
  791. package/nitrogen/generated/ios/swift/CarPlayNowPlayingButton.swift +48 -0
  792. package/nitrogen/generated/ios/swift/ChapterMetadata.swift +107 -0
  793. package/nitrogen/generated/ios/swift/EqualizerSettings.swift +168 -0
  794. package/nitrogen/generated/ios/swift/FavoriteChangedEvent.swift +47 -0
  795. package/nitrogen/generated/ios/swift/FormatNavigationErrorParams.swift +58 -0
  796. package/nitrogen/generated/ios/swift/FormattedNavigationError.swift +47 -0
  797. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams.swift +61 -0
  798. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____MediaTransformParams.swift +62 -0
  799. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____RequestConfig_std__optional_std__unordered_map_std__string__std__string__.swift +77 -0
  800. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.swift +62 -0
  801. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.swift +69 -0
  802. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.swift +68 -0
  803. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  804. package/nitrogen/generated/ios/swift/Func_void_BatteryOptimizationStatusChangedEvent.swift +47 -0
  805. package/nitrogen/generated/ios/swift/Func_void_BatteryWarningPendingChangedEvent.swift +47 -0
  806. package/nitrogen/generated/ios/swift/Func_void_EqualizerSettings.swift +47 -0
  807. package/nitrogen/generated/ios/swift/Func_void_FavoriteChangedEvent.swift +47 -0
  808. package/nitrogen/generated/ios/swift/Func_void_IosOutput.swift +47 -0
  809. package/nitrogen/generated/ios/swift/Func_void_NavigationErrorEvent.swift +47 -0
  810. package/nitrogen/generated/ios/swift/Func_void_NowPlayingMetadata.swift +47 -0
  811. package/nitrogen/generated/ios/swift/Func_void_Options.swift +47 -0
  812. package/nitrogen/generated/ios/swift/Func_void_Playback.swift +47 -0
  813. package/nitrogen/generated/ios/swift/Func_void_PlaybackActiveTrackChangedEvent.swift +47 -0
  814. package/nitrogen/generated/ios/swift/Func_void_PlaybackErrorEvent.swift +47 -0
  815. package/nitrogen/generated/ios/swift/Func_void_PlaybackPlayWhenReadyChangedEvent.swift +47 -0
  816. package/nitrogen/generated/ios/swift/Func_void_PlaybackProgressUpdatedEvent.swift +47 -0
  817. package/nitrogen/generated/ios/swift/Func_void_PlaybackQueueEndedEvent.swift +47 -0
  818. package/nitrogen/generated/ios/swift/Func_void_PlayingState.swift +47 -0
  819. package/nitrogen/generated/ios/swift/Func_void_RemoteJumpBackwardEvent.swift +47 -0
  820. package/nitrogen/generated/ios/swift/Func_void_RemoteJumpForwardEvent.swift +47 -0
  821. package/nitrogen/generated/ios/swift/Func_void_RemotePlayIdEvent.swift +47 -0
  822. package/nitrogen/generated/ios/swift/Func_void_RemotePlaySearchEvent.swift +47 -0
  823. package/nitrogen/generated/ios/swift/Func_void_RemoteSeekEvent.swift +47 -0
  824. package/nitrogen/generated/ios/swift/Func_void_RemoteSetRatingEvent.swift +47 -0
  825. package/nitrogen/generated/ios/swift/Func_void_RemoteSkipEvent.swift +47 -0
  826. package/nitrogen/generated/ios/swift/Func_void_RepeatModeChangedEvent.swift +47 -0
  827. package/nitrogen/generated/ios/swift/Func_void_RequestConfig.swift +47 -0
  828. package/nitrogen/generated/ios/swift/Func_void_TimedMetadata.swift +47 -0
  829. package/nitrogen/generated/ios/swift/Func_void_TrackMetadata.swift +47 -0
  830. package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
  831. package/nitrogen/generated/ios/swift/Func_void_double.swift +47 -0
  832. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  833. package/nitrogen/generated/ios/swift/Func_void_std__optional_FormattedNavigationError_.swift +47 -0
  834. package/nitrogen/generated/ios/swift/Func_void_std__optional_ResolvedTrack_.swift +47 -0
  835. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__SleepTimerTime__SleepTimerEndOfTrack__.swift +69 -0
  836. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_RequestConfig__.swift +67 -0
  837. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___.swift +67 -0
  838. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__vector_Track___.swift +67 -0
  839. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  840. package/nitrogen/generated/ios/swift/Func_void_std__variant_ResolvedTrack__BrowseError_.swift +59 -0
  841. package/nitrogen/generated/ios/swift/Func_void_std__vector_ChapterMetadata_.swift +47 -0
  842. package/nitrogen/generated/ios/swift/Func_void_std__vector_Track_.swift +47 -0
  843. package/nitrogen/generated/ios/swift/HeartRating.swift +36 -0
  844. package/nitrogen/generated/ios/swift/HttpMethod.swift +60 -0
  845. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec.swift +181 -0
  846. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec_cxx.swift +2352 -0
  847. package/nitrogen/generated/ios/swift/IOSCategory.swift +56 -0
  848. package/nitrogen/generated/ios/swift/IOSCategoryMode.swift +68 -0
  849. package/nitrogen/generated/ios/swift/IOSCategoryOptions.swift +60 -0
  850. package/nitrogen/generated/ios/swift/IOSCategoryPolicy.swift +44 -0
  851. package/nitrogen/generated/ios/swift/ImageContext.swift +71 -0
  852. package/nitrogen/generated/ios/swift/ImageQueryParams.swift +85 -0
  853. package/nitrogen/generated/ios/swift/ImageSource.swift +139 -0
  854. package/nitrogen/generated/ios/swift/IosOutput.swift +58 -0
  855. package/nitrogen/generated/ios/swift/IosOutputType.swift +76 -0
  856. package/nitrogen/generated/ios/swift/MediaRequestConfig.swift +434 -0
  857. package/nitrogen/generated/ios/swift/MediaTransformParams.swift +59 -0
  858. package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +360 -0
  859. package/nitrogen/generated/ios/swift/NativeRouteEntry.swift +275 -0
  860. package/nitrogen/generated/ios/swift/NativeUpdateOptions.swift +215 -0
  861. package/nitrogen/generated/ios/swift/NavigationError.swift +100 -0
  862. package/nitrogen/generated/ios/swift/NavigationErrorEvent.swift +48 -0
  863. package/nitrogen/generated/ios/swift/NavigationErrorType.swift +52 -0
  864. package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +187 -0
  865. package/nitrogen/generated/ios/swift/NotificationButton.swift +52 -0
  866. package/nitrogen/generated/ios/swift/NotificationButtonLayout.swift +159 -0
  867. package/nitrogen/generated/ios/swift/NowPlayingMetadata.swift +351 -0
  868. package/nitrogen/generated/ios/swift/NowPlayingUpdate.swift +85 -0
  869. package/nitrogen/generated/ios/swift/Options.swift +148 -0
  870. package/nitrogen/generated/ios/swift/PartialAndroidSetupPlayerOptions.swift +328 -0
  871. package/nitrogen/generated/ios/swift/PartialIOSSetupPlayerOptions.swift +159 -0
  872. package/nitrogen/generated/ios/swift/PartialSetupPlayerOptions.swift +157 -0
  873. package/nitrogen/generated/ios/swift/PercentageRating.swift +36 -0
  874. package/nitrogen/generated/ios/swift/Playback.swift +59 -0
  875. package/nitrogen/generated/ios/swift/PlaybackActiveTrackChangedEvent.swift +128 -0
  876. package/nitrogen/generated/ios/swift/PlaybackError.swift +47 -0
  877. package/nitrogen/generated/ios/swift/PlaybackErrorEvent.swift +48 -0
  878. package/nitrogen/generated/ios/swift/PlaybackPlayWhenReadyChangedEvent.swift +36 -0
  879. package/nitrogen/generated/ios/swift/PlaybackProgressUpdatedEvent.swift +69 -0
  880. package/nitrogen/generated/ios/swift/PlaybackQueueEndedEvent.swift +47 -0
  881. package/nitrogen/generated/ios/swift/PlaybackState.swift +68 -0
  882. package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +385 -0
  883. package/nitrogen/generated/ios/swift/PlayingState.swift +47 -0
  884. package/nitrogen/generated/ios/swift/Progress.swift +58 -0
  885. package/nitrogen/generated/ios/swift/RatingType.swift +60 -0
  886. package/nitrogen/generated/ios/swift/RemoteJumpBackwardEvent.swift +36 -0
  887. package/nitrogen/generated/ios/swift/RemoteJumpForwardEvent.swift +36 -0
  888. package/nitrogen/generated/ios/swift/RemotePlayIdEvent.swift +59 -0
  889. package/nitrogen/generated/ios/swift/RemotePlaySearchEvent.swift +36 -0
  890. package/nitrogen/generated/ios/swift/RemoteSeekEvent.swift +36 -0
  891. package/nitrogen/generated/ios/swift/RemoteSetRatingEvent.swift +76 -0
  892. package/nitrogen/generated/ios/swift/RemoteSkipEvent.swift +36 -0
  893. package/nitrogen/generated/ios/swift/RepeatMode.swift +44 -0
  894. package/nitrogen/generated/ios/swift/RepeatModeChangedEvent.swift +36 -0
  895. package/nitrogen/generated/ios/swift/RequestConfig.swift +298 -0
  896. package/nitrogen/generated/ios/swift/ResolvedTrack.swift +511 -0
  897. package/nitrogen/generated/ios/swift/RetryConfig.swift +59 -0
  898. package/nitrogen/generated/ios/swift/SearchMode.swift +56 -0
  899. package/nitrogen/generated/ios/swift/SearchParams.swift +209 -0
  900. package/nitrogen/generated/ios/swift/SleepTimer.swift +19 -0
  901. package/nitrogen/generated/ios/swift/SleepTimerEndOfTrack.swift +36 -0
  902. package/nitrogen/generated/ios/swift/SleepTimerTime.swift +36 -0
  903. package/nitrogen/generated/ios/swift/StarRating.swift +36 -0
  904. package/nitrogen/generated/ios/swift/ThumbsRating.swift +36 -0
  905. package/nitrogen/generated/ios/swift/TimedMetadata.swift +175 -0
  906. package/nitrogen/generated/ios/swift/Track.swift +488 -0
  907. package/nitrogen/generated/ios/swift/TrackMetadata.swift +505 -0
  908. package/nitrogen/generated/ios/swift/TrackStyle.swift +40 -0
  909. package/nitrogen/generated/ios/swift/TransformableRequestConfig.swift +372 -0
  910. package/nitrogen/generated/ios/swift/UpdateOptions.swift +215 -0
  911. package/nitrogen/generated/ios/swift/Variant_Bool_AndroidAudioOffloadSettings.swift +18 -0
  912. package/nitrogen/generated/ios/swift/Variant_Bool_RetryConfig.swift +18 -0
  913. package/nitrogen/generated/ios/swift/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.swift +20 -0
  914. package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +18 -0
  915. package/nitrogen/generated/ios/swift/Variant_NullType_NotificationButtonLayout.swift +18 -0
  916. package/nitrogen/generated/shared/c++/AndroidAudioContentType.hpp +88 -0
  917. package/nitrogen/generated/shared/c++/AndroidAudioOffloadSettings.hpp +79 -0
  918. package/nitrogen/generated/shared/c++/AndroidOptions.hpp +101 -0
  919. package/nitrogen/generated/shared/c++/AndroidPlayerWakeMode.hpp +80 -0
  920. package/nitrogen/generated/shared/c++/AndroidUpdateOptions.hpp +101 -0
  921. package/nitrogen/generated/shared/c++/AppKilledPlaybackBehavior.hpp +80 -0
  922. package/nitrogen/generated/shared/c++/ArtworkRequestConfig.hpp +133 -0
  923. package/nitrogen/generated/shared/c++/BatteryOptimizationStatus.hpp +80 -0
  924. package/nitrogen/generated/shared/c++/BatteryOptimizationStatusChangedEvent.hpp +76 -0
  925. package/nitrogen/generated/shared/c++/BatteryWarningPendingChangedEvent.hpp +75 -0
  926. package/nitrogen/generated/shared/c++/BrowseError.hpp +75 -0
  927. package/nitrogen/generated/shared/c++/BrowserSourceCallbackParam.hpp +81 -0
  928. package/nitrogen/generated/shared/c++/CarPlayNowPlayingButton.hpp +84 -0
  929. package/nitrogen/generated/shared/c++/ChapterMetadata.hpp +88 -0
  930. package/nitrogen/generated/shared/c++/EqualizerSettings.hpp +105 -0
  931. package/nitrogen/generated/shared/c++/FavoriteChangedEvent.hpp +80 -0
  932. package/nitrogen/generated/shared/c++/FormatNavigationErrorParams.hpp +88 -0
  933. package/nitrogen/generated/shared/c++/FormattedNavigationError.hpp +79 -0
  934. package/nitrogen/generated/shared/c++/HeartRating.hpp +75 -0
  935. package/nitrogen/generated/shared/c++/HttpMethod.hpp +96 -0
  936. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.cpp +207 -0
  937. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.hpp +375 -0
  938. package/nitrogen/generated/shared/c++/IOSCategory.hpp +92 -0
  939. package/nitrogen/generated/shared/c++/IOSCategoryMode.hpp +104 -0
  940. package/nitrogen/generated/shared/c++/IOSCategoryOptions.hpp +96 -0
  941. package/nitrogen/generated/shared/c++/IOSCategoryPolicy.hpp +80 -0
  942. package/nitrogen/generated/shared/c++/ImageContext.hpp +79 -0
  943. package/nitrogen/generated/shared/c++/ImageQueryParams.hpp +80 -0
  944. package/nitrogen/generated/shared/c++/ImageSource.hpp +91 -0
  945. package/nitrogen/generated/shared/c++/IosOutput.hpp +85 -0
  946. package/nitrogen/generated/shared/c++/IosOutputType.hpp +112 -0
  947. package/nitrogen/generated/shared/c++/MediaRequestConfig.hpp +123 -0
  948. package/nitrogen/generated/shared/c++/MediaTransformParams.hpp +84 -0
  949. package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +135 -0
  950. package/nitrogen/generated/shared/c++/NativeRouteEntry.hpp +131 -0
  951. package/nitrogen/generated/shared/c++/NativeUpdateOptions.hpp +103 -0
  952. package/nitrogen/generated/shared/c++/NavigationError.hpp +90 -0
  953. package/nitrogen/generated/shared/c++/NavigationErrorEvent.hpp +77 -0
  954. package/nitrogen/generated/shared/c++/NavigationErrorType.hpp +88 -0
  955. package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +101 -0
  956. package/nitrogen/generated/shared/c++/NotificationButton.hpp +88 -0
  957. package/nitrogen/generated/shared/c++/NotificationButtonLayout.hpp +94 -0
  958. package/nitrogen/generated/shared/c++/NowPlayingMetadata.hpp +124 -0
  959. package/nitrogen/generated/shared/c++/NowPlayingUpdate.hpp +80 -0
  960. package/nitrogen/generated/shared/c++/Options.hpp +105 -0
  961. package/nitrogen/generated/shared/c++/PartialAndroidSetupPlayerOptions.hpp +121 -0
  962. package/nitrogen/generated/shared/c++/PartialIOSSetupPlayerOptions.hpp +103 -0
  963. package/nitrogen/generated/shared/c++/PartialSetupPlayerOptions.hpp +96 -0
  964. package/nitrogen/generated/shared/c++/PercentageRating.hpp +75 -0
  965. package/nitrogen/generated/shared/c++/Playback.hpp +84 -0
  966. package/nitrogen/generated/shared/c++/PlaybackActiveTrackChangedEvent.hpp +93 -0
  967. package/nitrogen/generated/shared/c++/PlaybackError.hpp +79 -0
  968. package/nitrogen/generated/shared/c++/PlaybackErrorEvent.hpp +77 -0
  969. package/nitrogen/generated/shared/c++/PlaybackPlayWhenReadyChangedEvent.hpp +75 -0
  970. package/nitrogen/generated/shared/c++/PlaybackProgressUpdatedEvent.hpp +87 -0
  971. package/nitrogen/generated/shared/c++/PlaybackQueueEndedEvent.hpp +79 -0
  972. package/nitrogen/generated/shared/c++/PlaybackState.hpp +104 -0
  973. package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +119 -0
  974. package/nitrogen/generated/shared/c++/PlayingState.hpp +79 -0
  975. package/nitrogen/generated/shared/c++/Progress.hpp +83 -0
  976. package/nitrogen/generated/shared/c++/RatingType.hpp +96 -0
  977. package/nitrogen/generated/shared/c++/RemoteJumpBackwardEvent.hpp +75 -0
  978. package/nitrogen/generated/shared/c++/RemoteJumpForwardEvent.hpp +75 -0
  979. package/nitrogen/generated/shared/c++/RemotePlayIdEvent.hpp +80 -0
  980. package/nitrogen/generated/shared/c++/RemotePlaySearchEvent.hpp +75 -0
  981. package/nitrogen/generated/shared/c++/RemoteSeekEvent.hpp +75 -0
  982. package/nitrogen/generated/shared/c++/RemoteSetRatingEvent.hpp +86 -0
  983. package/nitrogen/generated/shared/c++/RemoteSkipEvent.hpp +75 -0
  984. package/nitrogen/generated/shared/c++/RepeatMode.hpp +80 -0
  985. package/nitrogen/generated/shared/c++/RepeatModeChangedEvent.hpp +76 -0
  986. package/nitrogen/generated/shared/c++/RequestConfig.hpp +107 -0
  987. package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +153 -0
  988. package/nitrogen/generated/shared/c++/RetryConfig.hpp +79 -0
  989. package/nitrogen/generated/shared/c++/SearchMode.hpp +92 -0
  990. package/nitrogen/generated/shared/c++/SearchParams.hpp +102 -0
  991. package/nitrogen/generated/shared/c++/SleepTimerEndOfTrack.hpp +75 -0
  992. package/nitrogen/generated/shared/c++/SleepTimerTime.hpp +75 -0
  993. package/nitrogen/generated/shared/c++/StarRating.hpp +75 -0
  994. package/nitrogen/generated/shared/c++/ThumbsRating.hpp +75 -0
  995. package/nitrogen/generated/shared/c++/TimedMetadata.hpp +92 -0
  996. package/nitrogen/generated/shared/c++/Track.hpp +145 -0
  997. package/nitrogen/generated/shared/c++/TrackMetadata.hpp +136 -0
  998. package/nitrogen/generated/shared/c++/TrackStyle.hpp +76 -0
  999. package/nitrogen/generated/shared/c++/TransformableRequestConfig.hpp +116 -0
  1000. package/nitrogen/generated/shared/c++/UpdateOptions.hpp +103 -0
  1001. package/package.json +120 -0
  1002. package/src/AudioBrowser.ts +4 -0
  1003. package/src/features/battery.ts +176 -0
  1004. package/src/features/browser.ts +315 -0
  1005. package/src/features/equalizer.ts +64 -0
  1006. package/src/features/errors.ts +196 -0
  1007. package/src/features/favorites.ts +102 -0
  1008. package/src/features/index.ts +23 -0
  1009. package/src/features/metadata.ts +130 -0
  1010. package/src/features/network.ts +34 -0
  1011. package/src/features/nowPlaying.ts +56 -0
  1012. package/src/features/output.ts +50 -0
  1013. package/src/features/playback/controls.ts +66 -0
  1014. package/src/features/playback/index.ts +7 -0
  1015. package/src/features/playback/playWhenReady.ts +57 -0
  1016. package/src/features/playback/playing.ts +40 -0
  1017. package/src/features/playback/progress.ts +122 -0
  1018. package/src/features/playback/rate.ts +22 -0
  1019. package/src/features/playback/state.ts +72 -0
  1020. package/src/features/playback/volume.ts +59 -0
  1021. package/src/features/player/index.ts +2 -0
  1022. package/src/features/player/options.ts +479 -0
  1023. package/src/features/player/setup.ts +551 -0
  1024. package/src/features/queue/activeTrack.ts +59 -0
  1025. package/src/features/queue/index.ts +4 -0
  1026. package/src/features/queue/queue.ts +173 -0
  1027. package/src/features/queue/repeatMode.ts +58 -0
  1028. package/src/features/queue/shuffle.ts +49 -0
  1029. package/src/features/rating.ts +17 -0
  1030. package/src/features/remoteControls.ts +341 -0
  1031. package/src/features/sleepTimer.ts +186 -0
  1032. package/src/index.ts +5 -0
  1033. package/src/native.ts +5 -0
  1034. package/src/native.web.ts +4 -0
  1035. package/src/specs/audio-browser.nitro.ts +326 -0
  1036. package/src/types/browser-native.ts +66 -0
  1037. package/src/types/browser-nodes.ts +174 -0
  1038. package/src/types/browser.ts +792 -0
  1039. package/src/types/index.ts +2 -0
  1040. package/src/types/player.ts +69 -0
  1041. package/src/utils/LazyNativeEmitter.ts +58 -0
  1042. package/src/utils/NativeUpdatedValue.ts +56 -0
  1043. package/src/utils/resolveAssetSource.ts +4 -0
  1044. package/src/utils/useDebug.ts +283 -0
  1045. package/src/utils/useNativeUpdatedValue.ts +41 -0
  1046. package/src/web/NativeAudioBrowser.ts +781 -0
  1047. package/src/web/SimpleRouter.ts +177 -0
  1048. package/src/web/TrackPlayer/Event.ts +11 -0
  1049. package/src/web/TrackPlayer/Player.ts +323 -0
  1050. package/src/web/TrackPlayer/PlaylistPlayer.ts +337 -0
  1051. package/src/web/TrackPlayer/RepeatMode.ts +7 -0
  1052. package/src/web/TrackPlayer/SetupNotCalledError.ts +5 -0
  1053. package/src/web/TrackPlayer/SleepTimer.ts +71 -0
  1054. package/src/web/TrackPlayer/State.ts +15 -0
  1055. package/src/web/TrackPlayer/index.ts +4 -0
  1056. package/src/web/browser/BrowserManager.ts +642 -0
  1057. package/src/web/browser/FavoriteManager.ts +77 -0
  1058. package/src/web/browser/NavigationErrorManager.ts +112 -0
  1059. package/src/web/browser/SearchManager.ts +82 -0
  1060. package/src/web/http/HttpClient.ts +107 -0
  1061. package/src/web/http/RequestConfigBuilder.ts +347 -0
  1062. package/src/web/player/NowPlayingManager.ts +83 -0
  1063. package/src/web/player/OptionsManager.ts +101 -0
  1064. package/src/web/util/BrowserPathHelper.ts +147 -0
  1065. package/src/web/util/shuffle.ts +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FavoriteManager","favorites","Set","setFavorites","isFavorited","src","has","addFavorite","add","removeFavorite","delete","hydrateFavorite","track","favorited","undefined","size","hydrateChildren","resolvedTrack","children","hydratedChildren","map"],"sourceRoot":"../../../../src","sources":["web/browser/FavoriteManager.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMA,eAAe,CAAC;EACnBC,SAAS,GAAG,IAAIC,GAAG,CAAS,CAAC;;EAErC;AACF;AACA;AACA;EACEC,YAAYA,CAACF,SAAmB,EAAQ;IACtC,IAAI,CAACA,SAAS,GAAG,IAAIC,GAAG,CAACD,SAAS,CAAC;EACrC;;EAEA;AACF;AACA;EACEG,WAAWA,CAACC,GAAW,EAAW;IAChC,OAAO,IAAI,CAACJ,SAAS,CAACK,GAAG,CAACD,GAAG,CAAC;EAChC;;EAEA;AACF;AACA;EACEE,WAAWA,CAACF,GAAW,EAAQ;IAC7B,IAAI,CAACJ,SAAS,CAACO,GAAG,CAACH,GAAG,CAAC;EACzB;;EAEA;AACF;AACA;EACEI,cAAcA,CAACJ,GAAW,EAAQ;IAChC,IAAI,CAACJ,SAAS,CAACS,MAAM,CAACL,GAAG,CAAC;EAC5B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEM,eAAeA,CAACC,KAAY,EAAS;IACnC;IACA,IAAIA,KAAK,CAACC,SAAS,KAAKC,SAAS,IAAIF,KAAK,CAACC,SAAS,KAAK,IAAI,EAAE,OAAOD,KAAK;IAC3E,IAAI,IAAI,CAACX,SAAS,CAACc,IAAI,KAAK,CAAC,EAAE,OAAOH,KAAK;IAE3C,MAAMR,WAAW,GAAGQ,KAAK,CAACP,GAAG,GAAG,IAAI,CAACJ,SAAS,CAACK,GAAG,CAACM,KAAK,CAACP,GAAG,CAAC,GAAG,KAAK;IACrE,IAAI,CAACD,WAAW,EAAE,OAAOQ,KAAK;IAE9B,OAAO;MACL,GAAGA,KAAK;MACRC,SAAS,EAAE;IACb,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEG,eAAeA,CAACC,aAA4B,EAAiB;IAC3D,MAAMC,QAAQ,GAAGD,aAAa,CAACC,QAAQ;IACvC,IAAI,CAACA,QAAQ,EAAE,OAAOD,aAAa;IAEnC,MAAME,gBAAgB,GAAGD,QAAQ,CAACE,GAAG,CAACR,KAAK,IAAI,IAAI,CAACD,eAAe,CAACC,KAAK,CAAC,CAAC;IAC3E,OAAO;MACL,GAAGK,aAAa;MAChBC,QAAQ,EAAEC;IACZ,CAAC;EACH;AACF","ignoreList":[]}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ const ERROR_TITLES = {
4
+ 'network-error': 'Network Error',
5
+ 'http-error': 'Server Error',
6
+ 'content-not-found': 'Content Not Found',
7
+ 'callback-error': 'Error',
8
+ 'unknown-error': 'Error'
9
+ };
10
+
11
+ /**
12
+ * Manages navigation error state and formatting.
13
+ * Handles both raw error objects and formatted user-facing error messages.
14
+ */
15
+ export class NavigationErrorManager {
16
+ // Event callbacks
17
+ onNavigationError = () => {};
18
+ onFormattedNavigationError = () => {};
19
+
20
+ /**
21
+ * Sets the custom error formatter callback from configuration.
22
+ */
23
+ setFormatCallback(callback) {
24
+ this.formatCallback = callback;
25
+ }
26
+
27
+ /**
28
+ * Clears the current navigation error and emits clear events.
29
+ */
30
+ clearNavigationError() {
31
+ if (this._navigationError !== undefined || this._formattedNavigationError !== undefined) {
32
+ this._navigationError = undefined;
33
+ this._formattedNavigationError = undefined;
34
+ this.onNavigationError({
35
+ error: undefined
36
+ });
37
+ this.onFormattedNavigationError(undefined);
38
+ }
39
+ }
40
+
41
+ /**
42
+ * Sets a navigation error with the given code and message.
43
+ * Automatically formats the error using the configured formatter or default formatting.
44
+ *
45
+ * @param code Error type code
46
+ * @param message Error message
47
+ * @param path Optional path where the error occurred
48
+ * @param statusCode Optional HTTP status code for http-error types
49
+ */
50
+ setNavigationError(code, message, path, statusCode) {
51
+ const navError = {
52
+ code,
53
+ message,
54
+ statusCode,
55
+ statusCodeSuccess: undefined
56
+ };
57
+ this._navigationError = navError;
58
+ this.onNavigationError({
59
+ error: navError
60
+ });
61
+
62
+ // Default formatted error
63
+ const defaultFormatted = {
64
+ title: ERROR_TITLES[code],
65
+ message
66
+ };
67
+
68
+ // Call custom formatter if available
69
+ if (this.formatCallback && path) {
70
+ try {
71
+ const customFormatted = this.formatCallback({
72
+ error: navError,
73
+ defaultFormatted,
74
+ path
75
+ });
76
+ this._formattedNavigationError = customFormatted || defaultFormatted;
77
+ } catch (error) {
78
+ console.error('Error in formatNavigationError callback:', error);
79
+ this._formattedNavigationError = defaultFormatted;
80
+ }
81
+ } else {
82
+ this._formattedNavigationError = defaultFormatted;
83
+ }
84
+ this.onFormattedNavigationError(this._formattedNavigationError);
85
+ }
86
+
87
+ /**
88
+ * Gets the current raw navigation error.
89
+ */
90
+ getNavigationError() {
91
+ return this._navigationError;
92
+ }
93
+
94
+ /**
95
+ * Gets the current formatted navigation error.
96
+ */
97
+ getFormattedNavigationError() {
98
+ return this._formattedNavigationError;
99
+ }
100
+ }
101
+ //# sourceMappingURL=NavigationErrorManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ERROR_TITLES","NavigationErrorManager","onNavigationError","onFormattedNavigationError","setFormatCallback","callback","formatCallback","clearNavigationError","_navigationError","undefined","_formattedNavigationError","error","setNavigationError","code","message","path","statusCode","navError","statusCodeSuccess","defaultFormatted","title","customFormatted","console","getNavigationError","getFormattedNavigationError"],"sourceRoot":"../../../../src","sources":["web/browser/NavigationErrorManager.ts"],"mappings":";;AAQA,MAAMA,YAAiD,GAAG;EACxD,eAAe,EAAE,eAAe;EAChC,YAAY,EAAE,cAAc;EAC5B,mBAAmB,EAAE,mBAAmB;EACxC,gBAAgB,EAAE,OAAO;EACzB,eAAe,EAAE;AACnB,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,CAAC;EAKlC;EACAC,iBAAiB,GAAyCA,CAAA,KAAM,CAAC,CAAC;EAClEC,0BAA0B,GAAmEA,CAAA,KAAM,CAAC,CAAC;;EAErG;AACF;AACA;EACEC,iBAAiBA,CAACC,QAA6D,EAAQ;IACrF,IAAI,CAACC,cAAc,GAAGD,QAAQ;EAChC;;EAEA;AACF;AACA;EACEE,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,IAAI,CAACC,gBAAgB,KAAKC,SAAS,IAAI,IAAI,CAACC,yBAAyB,KAAKD,SAAS,EAAE;MACvF,IAAI,CAACD,gBAAgB,GAAGC,SAAS;MACjC,IAAI,CAACC,yBAAyB,GAAGD,SAAS;MAC1C,IAAI,CAACP,iBAAiB,CAAC;QAAES,KAAK,EAAEF;MAAU,CAAC,CAAC;MAC5C,IAAI,CAACN,0BAA0B,CAACM,SAAS,CAAC;IAC5C;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEG,kBAAkBA,CAChBC,IAAyB,EACzBC,OAAe,EACfC,IAAa,EACbC,UAAmB,EACb;IACN,MAAMC,QAAyB,GAAG;MAChCJ,IAAI;MACJC,OAAO;MACPE,UAAU;MACVE,iBAAiB,EAAET;IACrB,CAAC;IACD,IAAI,CAACD,gBAAgB,GAAGS,QAAQ;IAChC,IAAI,CAACf,iBAAiB,CAAC;MAAES,KAAK,EAAEM;IAAS,CAAC,CAAC;;IAE3C;IACA,MAAME,gBAA0C,GAAG;MACjDC,KAAK,EAAEpB,YAAY,CAACa,IAAI,CAAC;MACzBC;IACF,CAAC;;IAED;IACA,IAAI,IAAI,CAACR,cAAc,IAAIS,IAAI,EAAE;MAC/B,IAAI;QACF,MAAMM,eAAe,GAAG,IAAI,CAACf,cAAc,CAAC;UAC1CK,KAAK,EAAEM,QAAQ;UACfE,gBAAgB;UAChBJ;QACF,CAAC,CAAC;QACF,IAAI,CAACL,yBAAyB,GAAGW,eAAe,IAAIF,gBAAgB;MACtE,CAAC,CAAC,OAAOR,KAAK,EAAE;QACdW,OAAO,CAACX,KAAK,CAAC,0CAA0C,EAAEA,KAAK,CAAC;QAChE,IAAI,CAACD,yBAAyB,GAAGS,gBAAgB;MACnD;IACF,CAAC,MAAM;MACL,IAAI,CAACT,yBAAyB,GAAGS,gBAAgB;IACnD;IAEA,IAAI,CAAChB,0BAA0B,CAAC,IAAI,CAACO,yBAAyB,CAAC;EACjE;;EAEA;AACF;AACA;EACEa,kBAAkBA,CAAA,EAAgC;IAChD,OAAO,IAAI,CAACf,gBAAgB;EAC9B;;EAEA;AACF;AACA;EACEgB,2BAA2BA,CAAA,EAAyC;IAClE,OAAO,IAAI,CAACd,yBAAyB;EACvC;AACF","ignoreList":[]}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ import { RequestConfigBuilder } from '../http/RequestConfigBuilder';
4
+
5
+ /**
6
+ * Manages search functionality.
7
+ * Resolves search queries using configured __search__ route.
8
+ * Matches Android's search architecture.
9
+ */
10
+ export class SearchManager {
11
+ constructor(browserManager, httpClient) {
12
+ this.browserManager = browserManager;
13
+ this.httpClient = httpClient;
14
+ }
15
+
16
+ /**
17
+ * Executes a search query using the __search__ route configuration.
18
+ * Matches Android's BrowserManager.search(params: SearchParams) behavior.
19
+ *
20
+ * @param params Search parameters (query is required, other fields optional)
21
+ * @returns Array of matching tracks
22
+ */
23
+ async search(params) {
24
+ // Find __search__ route entry
25
+ const searchRoute = this.browserManager.configuration.routes?.find(r => r.path === '__search__');
26
+ if (!searchRoute) {
27
+ return [];
28
+ }
29
+ let results = [];
30
+
31
+ // Handle callback-based search - pass full SearchParams
32
+ if (searchRoute.searchCallback) {
33
+ results = await searchRoute.searchCallback(params);
34
+ }
35
+ // Handle request config-based search
36
+ else if (searchRoute.searchConfig) {
37
+ // Build query parameters from SearchParams (matches Android's executeSearchApiRequest)
38
+ const searchQueryParams = {
39
+ q: params.query
40
+ };
41
+ if (params.mode) searchQueryParams.mode = params.mode;
42
+ if (params.genre) searchQueryParams.genre = params.genre;
43
+ if (params.artist) searchQueryParams.artist = params.artist;
44
+ if (params.album) searchQueryParams.album = params.album;
45
+ if (params.title) searchQueryParams.title = params.title;
46
+ if (params.playlist) searchQueryParams.playlist = params.playlist;
47
+ const requestConfig = this.httpClient.mergeRequestConfig(searchRoute.searchConfig, {
48
+ query: searchQueryParams
49
+ });
50
+ try {
51
+ const response = await this.httpClient.executeRequest(requestConfig);
52
+ results = Array.isArray(response) ? response : [];
53
+ } catch (error) {
54
+ console.error('Search failed:', error);
55
+ return [];
56
+ }
57
+ }
58
+
59
+ // Transform artwork URLs on search results using async method with full Track access
60
+ const artworkConfig = this.browserManager.configuration.artwork;
61
+ if (artworkConfig) {
62
+ results = await Promise.all(results.map(async track => {
63
+ const artworkSource = await RequestConfigBuilder.resolveArtworkSourceAsync(track, artworkConfig);
64
+ if (artworkSource && !track.artworkSource) {
65
+ return {
66
+ ...track,
67
+ artworkSource
68
+ };
69
+ }
70
+ return track;
71
+ }));
72
+ }
73
+ return results;
74
+ }
75
+ }
76
+ //# sourceMappingURL=SearchManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RequestConfigBuilder","SearchManager","constructor","browserManager","httpClient","search","params","searchRoute","configuration","routes","find","r","path","results","searchCallback","searchConfig","searchQueryParams","q","query","mode","genre","artist","album","title","playlist","requestConfig","mergeRequestConfig","response","executeRequest","Array","isArray","error","console","artworkConfig","artwork","Promise","all","map","track","artworkSource","resolveArtworkSourceAsync"],"sourceRoot":"../../../../src","sources":["web/browser/SearchManager.ts"],"mappings":";;AAGA,SAASA,oBAAoB,QAAQ,8BAA8B;;AAEnE;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,CAAC;EACzBC,WAAWA,CACDC,cAA8B,EAC9BC,UAAsB,EAC9B;IAAA,KAFQD,cAA8B,GAA9BA,cAA8B;IAAA,KAC9BC,UAAsB,GAAtBA,UAAsB;EAC7B;;EAEH;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,MAAMA,CAACC,MAAoB,EAAoB;IACnD;IACA,MAAMC,WAAW,GAAG,IAAI,CAACJ,cAAc,CAACK,aAAa,CAACC,MAAM,EAAEC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,IAAI,KAAK,YAAY,CAAC;IAChG,IAAI,CAACL,WAAW,EAAE;MAChB,OAAO,EAAE;IACX;IAEA,IAAIM,OAAgB,GAAG,EAAE;;IAEzB;IACA,IAAIN,WAAW,CAACO,cAAc,EAAE;MAC9BD,OAAO,GAAG,MAAMN,WAAW,CAACO,cAAc,CAACR,MAAM,CAAC;IACpD;IACA;IAAA,KACK,IAAIC,WAAW,CAACQ,YAAY,EAAE;MACjC;MACA,MAAMC,iBAAyC,GAAG;QAChDC,CAAC,EAAEX,MAAM,CAACY;MACZ,CAAC;MACD,IAAIZ,MAAM,CAACa,IAAI,EAAEH,iBAAiB,CAACG,IAAI,GAAGb,MAAM,CAACa,IAAI;MACrD,IAAIb,MAAM,CAACc,KAAK,EAAEJ,iBAAiB,CAACI,KAAK,GAAGd,MAAM,CAACc,KAAK;MACxD,IAAId,MAAM,CAACe,MAAM,EAAEL,iBAAiB,CAACK,MAAM,GAAGf,MAAM,CAACe,MAAM;MAC3D,IAAIf,MAAM,CAACgB,KAAK,EAAEN,iBAAiB,CAACM,KAAK,GAAGhB,MAAM,CAACgB,KAAK;MACxD,IAAIhB,MAAM,CAACiB,KAAK,EAAEP,iBAAiB,CAACO,KAAK,GAAGjB,MAAM,CAACiB,KAAK;MACxD,IAAIjB,MAAM,CAACkB,QAAQ,EAAER,iBAAiB,CAACQ,QAAQ,GAAGlB,MAAM,CAACkB,QAAQ;MAEjE,MAAMC,aAAa,GAAG,IAAI,CAACrB,UAAU,CAACsB,kBAAkB,CAACnB,WAAW,CAACQ,YAAY,EAAE;QACjFG,KAAK,EAAEF;MACT,CAAC,CAAC;MAEF,IAAI;QACF,MAAMW,QAAQ,GAAG,MAAM,IAAI,CAACvB,UAAU,CAACwB,cAAc,CAACH,aAAa,CAAC;QACpEZ,OAAO,GAAGgB,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,GAAIA,QAAQ,GAAe,EAAE;MAChE,CAAC,CAAC,OAAOI,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,gBAAgB,EAAEA,KAAK,CAAC;QACtC,OAAO,EAAE;MACX;IACF;;IAEA;IACA,MAAME,aAAa,GAAG,IAAI,CAAC9B,cAAc,CAACK,aAAa,CAAC0B,OAAO;IAC/D,IAAID,aAAa,EAAE;MACjBpB,OAAO,GAAG,MAAMsB,OAAO,CAACC,GAAG,CACzBvB,OAAO,CAACwB,GAAG,CAAC,MAAMC,KAAK,IAAI;QACzB,MAAMC,aAAa,GAAG,MAAMvC,oBAAoB,CAACwC,yBAAyB,CACxEF,KAAK,EACLL,aACF,CAAC;QACD,IAAIM,aAAa,IAAI,CAACD,KAAK,CAACC,aAAa,EAAE;UACzC,OAAO;YAAE,GAAGD,KAAK;YAAEC;UAAc,CAAC;QACpC;QACA,OAAOD,KAAK;MACd,CAAC,CACH,CAAC;IACH;IAEA,OAAOzB,OAAO;EAChB;AACF","ignoreList":[]}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ import { RequestConfigBuilder } from './RequestConfigBuilder';
4
+ function isHttpError(error) {
5
+ return error instanceof Error && 'isHttpError' in error && error.isHttpError === true && typeof error.status === 'number' && typeof error.statusText === 'string';
6
+ }
7
+
8
+ /**
9
+ * HTTP client for making browser API requests.
10
+ * Mirrors Android's HttpClient.kt
11
+ * Uses RequestConfigBuilder for URL building and config merging.
12
+ */
13
+ export class HttpClient {
14
+ constructor(baseRequestConfig = {}) {
15
+ this.baseRequestConfig = baseRequestConfig;
16
+ }
17
+
18
+ /**
19
+ * Updates the base request configuration used for all requests.
20
+ */
21
+ setBaseRequestConfig(config) {
22
+ this.baseRequestConfig = config;
23
+ }
24
+
25
+ /**
26
+ * Merges multiple request configs with proper header and query parameter merging.
27
+ * Uses RequestConfigBuilder for consistent merging behavior.
28
+ */
29
+ mergeRequestConfig(base, overrides) {
30
+ // First merge base with the instance's base config
31
+ const withBase = RequestConfigBuilder.mergeConfig(this.baseRequestConfig, base);
32
+ // Then merge with overrides
33
+ return RequestConfigBuilder.mergeConfig(withBase, overrides);
34
+ }
35
+
36
+ /**
37
+ * Executes an HTTP request and returns the JSON response.
38
+ * Throws navigation errors for HTTP and network failures.
39
+ */
40
+ async executeRequest(config) {
41
+ // Use RequestConfigBuilder to build the URL
42
+ const url = RequestConfigBuilder.buildUrl(config);
43
+ const headers = config.headers ?? {};
44
+ const method = config.method ?? 'GET';
45
+ try {
46
+ const response = await fetch(url, {
47
+ method,
48
+ headers
49
+ });
50
+ if (!response.ok) {
51
+ const error = new Error(`HTTP ${response.status}: ${response.statusText}`);
52
+ error.isHttpError = true;
53
+ error.status = response.status;
54
+ error.statusText = response.statusText;
55
+ throw error;
56
+ }
57
+ return response.json();
58
+ } catch (error) {
59
+ // Distinguish between network errors and HTTP errors
60
+ if (isHttpError(error)) {
61
+ const navError = new Error(error.message);
62
+ navError.code = 'http-error';
63
+ navError.statusCode = error.status;
64
+ throw navError;
65
+ }
66
+
67
+ // Network error (fetch failed, CORS, etc.)
68
+ const message = error instanceof Error ? error.message : 'Failed to fetch';
69
+ console.error(`Network error fetching ${url}:`, error);
70
+ const navError = new Error(message);
71
+ navError.code = 'network-error';
72
+ throw navError;
73
+ }
74
+ }
75
+ }
76
+ //# sourceMappingURL=HttpClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RequestConfigBuilder","isHttpError","error","Error","status","statusText","HttpClient","constructor","baseRequestConfig","setBaseRequestConfig","config","mergeRequestConfig","base","overrides","withBase","mergeConfig","executeRequest","url","buildUrl","headers","method","response","fetch","ok","json","navError","message","code","statusCode","console"],"sourceRoot":"../../../../src","sources":["web/http/HttpClient.ts"],"mappings":";;AAKA,SAASA,oBAAoB,QAAQ,wBAAwB;AAQ7D,SAASC,WAAWA,CAACC,KAAc,EAAsB;EACvD,OACEA,KAAK,YAAYC,KAAK,IACtB,aAAa,IAAID,KAAK,IACrBA,KAAK,CAAeD,WAAW,KAAK,IAAI,IACzC,OAAQC,KAAK,CAAeE,MAAM,KAAK,QAAQ,IAC/C,OAAQF,KAAK,CAAeG,UAAU,KAAK,QAAQ;AAEvD;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,CAAC;EAGtBC,WAAWA,CAACC,iBAAsD,GAAG,CAAC,CAAC,EAAE;IACvE,IAAI,CAACA,iBAAiB,GAAGA,iBAAiB;EAC5C;;EAEA;AACF;AACA;EACEC,oBAAoBA,CAACC,MAA2C,EAAQ;IACtE,IAAI,CAACF,iBAAiB,GAAGE,MAAM;EACjC;;EAEA;AACF;AACA;AACA;EACEC,kBAAkBA,CAChBC,IAAyC,EACzCC,SAAiC,EAClB;IACf;IACA,MAAMC,QAAQ,GAAGd,oBAAoB,CAACe,WAAW,CAC/C,IAAI,CAACP,iBAAiB,EACtBI,IACF,CAAC;IACD;IACA,OAAOZ,oBAAoB,CAACe,WAAW,CAACD,QAAQ,EAAED,SAA0B,CAAC;EAC/E;;EAEA;AACF;AACA;AACA;EACE,MAAMG,cAAcA,CAACN,MAAqB,EAAoB;IAC5D;IACA,MAAMO,GAAG,GAAGjB,oBAAoB,CAACkB,QAAQ,CAACR,MAAM,CAAC;IACjD,MAAMS,OAAO,GAAGT,MAAM,CAACS,OAAO,IAAI,CAAC,CAAC;IACpC,MAAMC,MAAM,GAAGV,MAAM,CAACU,MAAM,IAAI,KAAK;IAErC,IAAI;MACF,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAACL,GAAG,EAAE;QAChCG,MAAM;QACND;MACF,CAAC,CAAC;MAEF,IAAI,CAACE,QAAQ,CAACE,EAAE,EAAE;QAChB,MAAMrB,KAAK,GAAG,IAAIC,KAAK,CAAC,QAAQkB,QAAQ,CAACjB,MAAM,KAAKiB,QAAQ,CAAChB,UAAU,EAAE,CAAc;QACvFH,KAAK,CAACD,WAAW,GAAG,IAAI;QACxBC,KAAK,CAACE,MAAM,GAAGiB,QAAQ,CAACjB,MAAM;QAC9BF,KAAK,CAACG,UAAU,GAAGgB,QAAQ,CAAChB,UAAU;QACtC,MAAMH,KAAK;MACb;MAEA,OAAOmB,QAAQ,CAACG,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC,OAAOtB,KAAc,EAAE;MACvB;MACA,IAAID,WAAW,CAACC,KAAK,CAAC,EAAE;QACtB,MAAMuB,QAAQ,GAAG,IAAItB,KAAK,CAACD,KAAK,CAACwB,OAAO,CAGvC;QACDD,QAAQ,CAACE,IAAI,GAAG,YAAY;QAC5BF,QAAQ,CAACG,UAAU,GAAG1B,KAAK,CAACE,MAAM;QAClC,MAAMqB,QAAQ;MAChB;;MAEA;MACA,MAAMC,OAAO,GAAGxB,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACwB,OAAO,GAAG,iBAAiB;MAC1EG,OAAO,CAAC3B,KAAK,CAAC,0BAA0Be,GAAG,GAAG,EAAEf,KAAK,CAAC;MACtD,MAAMuB,QAAQ,GAAG,IAAItB,KAAK,CAACuB,OAAO,CAEjC;MACDD,QAAQ,CAACE,IAAI,GAAG,eAAe;MAC/B,MAAMF,QAAQ;IAChB;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+
3
+ import { BrowserPathHelper } from '../util/BrowserPathHelper';
4
+
5
+ /**
6
+ * Appends query parameters to a URL, handling existing query strings.
7
+ */
8
+ function appendQueryParams(url, query) {
9
+ if (!query || Object.keys(query).length === 0) return url;
10
+ const params = new URLSearchParams();
11
+ for (const [key, value] of Object.entries(query)) {
12
+ if (value !== undefined && value !== null) {
13
+ params.append(key, String(value));
14
+ }
15
+ }
16
+ const queryString = params.toString();
17
+ if (!queryString) return url;
18
+ const separator = url.includes('?') ? '&' : '?';
19
+ return url + separator + queryString;
20
+ }
21
+
22
+ /**
23
+ * Applies image dimension query parameters to a request config.
24
+ * Maps ImageContext dimensions to query params using the configured param names.
25
+ */
26
+ function applyImageQueryParams(config, imgParams, context) {
27
+ if (!imgParams || !context) return config;
28
+ const query = {
29
+ ...config.query
30
+ };
31
+ if (imgParams.width && context.width) {
32
+ query[imgParams.width] = String(context.width);
33
+ }
34
+ if (imgParams.height && context.height) {
35
+ query[imgParams.height] = String(context.height);
36
+ }
37
+ return {
38
+ ...config,
39
+ query
40
+ };
41
+ }
42
+
43
+ /**
44
+ * Builds and merges request configurations.
45
+ * Mirrors Android's RequestConfigBuilder.kt
46
+ */
47
+ export const RequestConfigBuilder = {
48
+ /**
49
+ * Builds a complete URL from a request config.
50
+ * Uses BrowserPathHelper for consistent URL building.
51
+ */
52
+ buildUrl(config) {
53
+ const path = config.path ?? '';
54
+ const baseUrl = config.baseUrl;
55
+
56
+ // Use BrowserPathHelper for consistent URL building
57
+ const url = BrowserPathHelper.buildUrl(baseUrl, path);
58
+
59
+ // Add query parameters if any
60
+ return appendQueryParams(url, config.query);
61
+ },
62
+ /**
63
+ * Merges two RequestConfigs, with override values taking precedence.
64
+ * Headers and query params are merged (not replaced).
65
+ */
66
+ mergeConfig(base, override) {
67
+ return {
68
+ path: override.path ?? base.path,
69
+ method: override.method ?? base.method,
70
+ baseUrl: override.baseUrl ?? base.baseUrl,
71
+ headers: this.mergeHeaders(base.headers, override.headers),
72
+ query: this.mergeQuery(base.query, override.query),
73
+ body: override.body ?? base.body,
74
+ contentType: override.contentType ?? base.contentType,
75
+ userAgent: override.userAgent ?? base.userAgent
76
+ };
77
+ },
78
+ /**
79
+ * Merges a base RequestConfig with a MediaRequestConfig.
80
+ * Returns the merged config for use in media URL resolution.
81
+ * Supports the transform callback like Android's RequestConfigBuilder.
82
+ *
83
+ * Note: MediaRequestConfig inherits transform from TransformableRequestConfig,
84
+ * which takes (request, routeParams?) directly, not MediaTransformParams.
85
+ */
86
+ async mergeMediaConfig(base, override) {
87
+ // Apply transform function if provided - transform result wins completely
88
+ if (override.transform) {
89
+ try {
90
+ // TransformableRequestConfig.transform takes (request, routeParams?) directly
91
+ const transformed = await override.transform(base);
92
+ return transformed;
93
+ } catch (e) {
94
+ console.error('Failed to apply media transform function, using base config', e);
95
+ return base;
96
+ }
97
+ }
98
+
99
+ // No transform - merge static config
100
+ return this.mergeConfig(base, this.toRequestConfig(override));
101
+ },
102
+ /**
103
+ * Merges a base RequestConfig with an ArtworkRequestConfig.
104
+ * Returns the merged config for use in artwork URL resolution.
105
+ */
106
+ mergeArtworkConfig(base, override) {
107
+ // On web, we don't support resolve/transform callbacks - just merge the static config
108
+ return this.mergeConfig(base, this.toRequestConfig(override));
109
+ },
110
+ /**
111
+ * Converts a TransformableRequestConfig to a plain RequestConfig.
112
+ */
113
+ toRequestConfig(config) {
114
+ return {
115
+ path: config.path,
116
+ method: config.method,
117
+ baseUrl: config.baseUrl,
118
+ headers: config.headers,
119
+ query: config.query,
120
+ body: config.body,
121
+ contentType: config.contentType,
122
+ userAgent: config.userAgent
123
+ };
124
+ },
125
+ /**
126
+ * Resolves a media URL using the media configuration.
127
+ * Creates a RequestConfig with the track's src as the path, then builds the URL.
128
+ * Supports the transform callback for URL manipulation.
129
+ *
130
+ * @param src The track's src value (may be relative or absolute)
131
+ * @param mediaConfig The media request configuration
132
+ * @returns The resolved absolute URL
133
+ */
134
+ async resolveMediaUrl(src, mediaConfig) {
135
+ if (!mediaConfig) {
136
+ return BrowserPathHelper.buildUrl(undefined, src);
137
+ }
138
+ const config = await this.mergeMediaConfig({
139
+ path: src
140
+ }, mediaConfig);
141
+ return BrowserPathHelper.buildUrl(config.baseUrl, config.path ?? src);
142
+ },
143
+ /**
144
+ * Resolves an artwork URL and creates an ImageSource.
145
+ * Matches Android's artwork URL transformation behavior.
146
+ *
147
+ * @param artworkUrl The artwork URL (may be relative or absolute)
148
+ * @param artworkConfig The artwork request configuration
149
+ * @returns ImageSource with resolved URI, or undefined if no artwork
150
+ */
151
+ resolveArtworkSource(artworkUrl, artworkConfig) {
152
+ if (!artworkUrl) return undefined;
153
+ const config = artworkConfig ? this.mergeArtworkConfig({
154
+ path: artworkUrl
155
+ }, artworkConfig) : {
156
+ path: artworkUrl
157
+ };
158
+ const resolvedUri = BrowserPathHelper.buildUrl(config.baseUrl, config.path ?? artworkUrl);
159
+ return {
160
+ uri: resolvedUri,
161
+ method: config.method ?? 'GET',
162
+ headers: config.headers
163
+ };
164
+ },
165
+ /**
166
+ * Resolves an artwork URL asynchronously with full Track access.
167
+ * Supports resolve and transform callbacks from ArtworkRequestConfig.
168
+ * Matches Android's CoilBitmapLoader.transformArtworkUrlForTrack() behavior.
169
+ *
170
+ * The resolution order is:
171
+ * 1. If resolve callback exists, call it with the track to get per-track config
172
+ * 2. Merge base config + resolved config
173
+ * 3. Apply imageQueryParams if context has dimensions
174
+ * 4. Apply transform callback if present
175
+ *
176
+ * @param track The track to resolve artwork for (full Track object)
177
+ * @param artworkConfig The artwork request configuration
178
+ * @param imageContext Optional image context with size hints (width/height)
179
+ * @returns ImageSource with resolved URI, or undefined if no artwork
180
+ */
181
+ async resolveArtworkSourceAsync(track, artworkConfig, imageContext) {
182
+ const artworkUrl = track.artwork;
183
+
184
+ // If no config and no track.artwork, nothing to transform
185
+ if (!artworkConfig && !artworkUrl) {
186
+ return undefined;
187
+ }
188
+
189
+ // If no artwork config, just return the original artwork URL
190
+ if (!artworkConfig) {
191
+ return artworkUrl ? {
192
+ uri: artworkUrl,
193
+ method: 'GET'
194
+ } : undefined;
195
+ }
196
+ try {
197
+ // Step 1: Call resolve callback if provided to get per-track config
198
+ let resolvedConfig;
199
+ if (artworkConfig.resolve) {
200
+ resolvedConfig = await artworkConfig.resolve(track);
201
+ // If resolve callback returned null/undefined, that means no artwork
202
+ if (!resolvedConfig && artworkUrl === undefined) {
203
+ return undefined;
204
+ }
205
+ }
206
+
207
+ // Step 2: Merge base config + resolved per-track config
208
+ const baseConfig = {
209
+ path: artworkUrl
210
+ };
211
+ let mergedConfig = this.mergeConfig(this.mergeConfig(baseConfig, this.toRequestConfig(artworkConfig)), resolvedConfig ?? {});
212
+
213
+ // Step 3: Apply imageQueryParams if context has dimensions
214
+ mergedConfig = applyImageQueryParams(mergedConfig, artworkConfig.imageQueryParams, imageContext);
215
+
216
+ // Step 4: Apply transform callback if present
217
+ if (artworkConfig.transform) {
218
+ mergedConfig = await artworkConfig.transform({
219
+ request: mergedConfig,
220
+ context: imageContext
221
+ });
222
+ }
223
+
224
+ // Build final URL
225
+ const resolvedUri = BrowserPathHelper.buildUrl(mergedConfig.baseUrl, mergedConfig.path ?? artworkUrl ?? '');
226
+ const finalUri = appendQueryParams(resolvedUri, mergedConfig.query);
227
+ return {
228
+ uri: finalUri,
229
+ method: mergedConfig.method ?? 'GET',
230
+ headers: mergedConfig.headers,
231
+ body: mergedConfig.body
232
+ };
233
+ } catch (error) {
234
+ // resolve/transform threw - log error, return undefined to avoid broken images
235
+ console.error('Failed to resolve artwork URL:', error);
236
+ return undefined;
237
+ }
238
+ },
239
+ /**
240
+ * Transforms a track's artwork URL and populates artworkSource.
241
+ * Leaves the original artwork property unchanged.
242
+ * Matches Android's transformArtworkUrl behavior.
243
+ *
244
+ * @param track The track to transform
245
+ * @param artworkConfig The artwork request configuration
246
+ * @returns Track with artworkSource populated
247
+ */
248
+ transformTrackArtwork(track, artworkConfig) {
249
+ // If artworkSource is already set, don't override it
250
+ if (track.artworkSource) return track;
251
+ const artworkSource = this.resolveArtworkSource(track.artwork, artworkConfig);
252
+ if (!artworkSource) return track;
253
+ return {
254
+ ...track,
255
+ artworkSource
256
+ };
257
+ },
258
+ /**
259
+ * Transforms artwork URLs for an array of tracks.
260
+ *
261
+ * @param tracks Array of tracks to transform
262
+ * @param artworkConfig The artwork request configuration
263
+ * @returns Tracks with artworkSource populated
264
+ */
265
+ transformTracksArtwork(tracks, artworkConfig) {
266
+ return tracks.map(track => this.transformTrackArtwork(track, artworkConfig));
267
+ },
268
+ /**
269
+ * Merges header maps, with override values taking precedence.
270
+ */
271
+ mergeHeaders(base, override) {
272
+ if (!base) return override;
273
+ if (!override) return base;
274
+ return {
275
+ ...base,
276
+ ...override
277
+ };
278
+ },
279
+ /**
280
+ * Merges query parameter maps, with override values taking precedence.
281
+ */
282
+ mergeQuery(base, override) {
283
+ if (!base) return override;
284
+ if (!override) return base;
285
+ return {
286
+ ...base,
287
+ ...override
288
+ };
289
+ }
290
+ };
291
+ //# sourceMappingURL=RequestConfigBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BrowserPathHelper","appendQueryParams","url","query","Object","keys","length","params","URLSearchParams","key","value","entries","undefined","append","String","queryString","toString","separator","includes","applyImageQueryParams","config","imgParams","context","width","height","RequestConfigBuilder","buildUrl","path","baseUrl","mergeConfig","base","override","method","headers","mergeHeaders","mergeQuery","body","contentType","userAgent","mergeMediaConfig","transform","transformed","e","console","error","toRequestConfig","mergeArtworkConfig","resolveMediaUrl","src","mediaConfig","resolveArtworkSource","artworkUrl","artworkConfig","resolvedUri","uri","resolveArtworkSourceAsync","track","imageContext","artwork","resolvedConfig","resolve","baseConfig","mergedConfig","imageQueryParams","request","finalUri","transformTrackArtwork","artworkSource","transformTracksArtwork","tracks","map"],"sourceRoot":"../../../../src","sources":["web/http/RequestConfigBuilder.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Manages now playing metadata overrides.
5
+ * Allows temporary metadata changes for the currently playing track
6
+ * (e.g., updating stream metadata for live radio).
7
+ */
8
+ export class NowPlayingManager {
9
+ // Event callback
10
+ onNowPlayingChanged = () => {};
11
+
12
+ /**
13
+ * Updates the now playing metadata with an override.
14
+ * Pass null or undefined to clear overrides and revert to track metadata.
15
+ *
16
+ * @param update Metadata override or null/undefined to clear
17
+ * @param currentTrack Current track for base metadata
18
+ * @param duration Current track duration
19
+ */
20
+ updateNowPlaying(update, currentTrack, duration) {
21
+ this.override = update;
22
+ if (!currentTrack) return;
23
+ const metadata = update ? {
24
+ title: update.title ?? currentTrack.title,
25
+ artist: update.artist ?? currentTrack.artist,
26
+ album: currentTrack.album,
27
+ artwork: currentTrack.artwork,
28
+ duration
29
+ } : {
30
+ title: currentTrack.title,
31
+ artist: currentTrack.artist,
32
+ album: currentTrack.album,
33
+ artwork: currentTrack.artwork,
34
+ duration
35
+ };
36
+ this.onNowPlayingChanged(metadata);
37
+ }
38
+
39
+ /**
40
+ * Gets the current now playing metadata (with override applied if set).
41
+ *
42
+ * @param currentTrack Current track for base metadata
43
+ * @param duration Current track duration
44
+ * @returns Now playing metadata or undefined if no track
45
+ */
46
+ getNowPlaying(currentTrack, duration) {
47
+ if (!currentTrack) return undefined;
48
+ return {
49
+ title: this.override?.title ?? currentTrack.title,
50
+ artist: this.override?.artist ?? currentTrack.artist,
51
+ album: currentTrack.album,
52
+ artwork: currentTrack.artwork,
53
+ duration
54
+ };
55
+ }
56
+
57
+ /**
58
+ * Clears the current metadata override.
59
+ * Should be called when the track changes.
60
+ */
61
+ clearNowPlayingOverride() {
62
+ this.override = undefined;
63
+ }
64
+ }
65
+ //# sourceMappingURL=NowPlayingManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NowPlayingManager","onNowPlayingChanged","updateNowPlaying","update","currentTrack","duration","override","metadata","title","artist","album","artwork","getNowPlaying","undefined","clearNowPlayingOverride"],"sourceRoot":"../../../../src","sources":["web/player/NowPlayingManager.ts"],"mappings":";;AAMA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,iBAAiB,CAAC;EAG7B;EACAC,mBAAmB,GAA2CA,CAAA,KAAM,CAAC,CAAC;;EAEtE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,gBAAgBA,CACdC,MAAoC,EACpCC,YAA+B,EAC/BC,QAAgB,EACV;IACN,IAAI,CAACC,QAAQ,GAAGH,MAAM;IAEtB,IAAI,CAACC,YAAY,EAAE;IAEnB,MAAMG,QAA4B,GAAGJ,MAAM,GACvC;MACEK,KAAK,EAAEL,MAAM,CAACK,KAAK,IAAIJ,YAAY,CAACI,KAAK;MACzCC,MAAM,EAAEN,MAAM,CAACM,MAAM,IAAIL,YAAY,CAACK,MAAM;MAC5CC,KAAK,EAAEN,YAAY,CAACM,KAAK;MACzBC,OAAO,EAAEP,YAAY,CAACO,OAAO;MAC7BN;IACF,CAAC,GACD;MACEG,KAAK,EAAEJ,YAAY,CAACI,KAAK;MACzBC,MAAM,EAAEL,YAAY,CAACK,MAAM;MAC3BC,KAAK,EAAEN,YAAY,CAACM,KAAK;MACzBC,OAAO,EAAEP,YAAY,CAACO,OAAO;MAC7BN;IACF,CAAC;IAEL,IAAI,CAACJ,mBAAmB,CAACM,QAAQ,CAAC;EACpC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEK,aAAaA,CACXR,YAA+B,EAC/BC,QAAgB,EACgB;IAChC,IAAI,CAACD,YAAY,EAAE,OAAOS,SAAS;IAEnC,OAAO;MACLL,KAAK,EAAE,IAAI,CAACF,QAAQ,EAAEE,KAAK,IAAIJ,YAAY,CAACI,KAAK;MACjDC,MAAM,EAAE,IAAI,CAACH,QAAQ,EAAEG,MAAM,IAAIL,YAAY,CAACK,MAAM;MACpDC,KAAK,EAAEN,YAAY,CAACM,KAAK;MACzBC,OAAO,EAAEP,YAAY,CAACO,OAAO;MAC7BN;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACES,uBAAuBA,CAAA,EAAS;IAC9B,IAAI,CAACR,QAAQ,GAAGO,SAAS;EAC3B;AACF","ignoreList":[]}