react-native-audio-browser 0.2.0-next.3 → 0.2.0-next.31

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 (989) hide show
  1. package/README.md +36 -22
  2. package/android/build.gradle +35 -12
  3. package/android/gradle.properties +2 -2
  4. package/android/src/main/AndroidManifest.xml +3 -1
  5. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +541 -278
  6. package/android/src/main/java/com/audiobrowser/AudioBrowserLifecycleModule.kt +38 -0
  7. package/android/src/main/java/com/audiobrowser/AudioBrowserPackage.kt +18 -2
  8. package/android/src/main/java/com/audiobrowser/ServiceBinding.kt +52 -0
  9. package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +315 -213
  10. package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +27 -9
  11. package/android/src/main/java/com/audiobrowser/browser/InertStyleDiagnostic.kt +288 -0
  12. package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +97 -58
  13. package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +70 -29
  14. package/android/src/main/java/com/audiobrowser/browser/StyleResolver.kt +60 -0
  15. package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +20 -7
  16. package/android/src/main/java/com/audiobrowser/extension/TappedTrack.kt +20 -0
  17. package/android/src/main/java/com/audiobrowser/extension/TrackIdentity.kt +15 -0
  18. package/android/src/main/java/com/audiobrowser/http/HttpClient.kt +20 -3
  19. package/android/src/main/java/com/audiobrowser/model/IcyTitle.kt +24 -0
  20. package/android/src/main/java/com/audiobrowser/model/PlaybackMetadata.kt +10 -6
  21. package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +12 -12
  22. package/android/src/main/java/com/audiobrowser/player/CapabilityControls.kt +111 -58
  23. package/android/src/main/java/com/audiobrowser/player/CrossOriginHeaderStripper.kt +77 -0
  24. package/android/src/main/java/com/audiobrowser/player/MediaFactory.kt +28 -10
  25. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +509 -230
  26. package/android/src/main/java/com/audiobrowser/player/MediaSessionCommandManager.kt +218 -252
  27. package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +21 -25
  28. package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +113 -78
  29. package/android/src/main/java/com/audiobrowser/player/Player.kt +81 -38
  30. package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +2 -15
  31. package/android/src/main/java/com/audiobrowser/player/PlayerListener.kt +1 -1
  32. package/android/src/main/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicy.kt +2 -1
  33. package/android/src/main/java/com/audiobrowser/player/ShuffleOrderLedBy.kt +30 -0
  34. package/android/src/main/java/com/audiobrowser/tls/AiaCertChaser.kt +67 -11
  35. package/android/src/main/java/com/audiobrowser/tls/AiaChasingExtendedTrustManager.kt +168 -0
  36. package/android/src/main/java/com/audiobrowser/tls/AiaChasingTrustManager.kt +58 -14
  37. package/android/src/main/java/com/audiobrowser/tls/AiaTls.kt +35 -7
  38. package/android/src/main/java/com/audiobrowser/tls/CachingCertificateFetcher.kt +278 -59
  39. package/android/src/main/java/com/audiobrowser/util/ArtworkVariant.kt +7 -9
  40. package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +62 -40
  41. package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +28 -23
  42. package/android/src/main/java/com/audiobrowser/util/StyleWire.kt +110 -0
  43. package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +56 -52
  44. package/android/src/main/res/values/strings.xml +25 -5
  45. package/android/src/test/java/com/audiobrowser/ServiceBindingTest.kt +100 -0
  46. package/android/src/test/java/com/audiobrowser/TestFixtures.kt +119 -33
  47. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerFavoritesTest.kt +153 -0
  48. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerLayerResolutionTest.kt +15 -0
  49. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +346 -8
  50. package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +40 -2
  51. package/android/src/test/java/com/audiobrowser/browser/InertStyleDiagnosticTest.kt +301 -0
  52. package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +3 -2
  53. package/android/src/test/java/com/audiobrowser/browser/JsonStyleTest.kt +168 -0
  54. package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +128 -55
  55. package/android/src/test/java/com/audiobrowser/browser/StyleResolverTest.kt +160 -0
  56. package/android/src/test/java/com/audiobrowser/extension/TappedTrackTest.kt +43 -0
  57. package/android/src/test/java/com/audiobrowser/extension/TrackIdentityTest.kt +41 -0
  58. package/android/src/test/java/com/audiobrowser/model/IcyTitleTest.kt +49 -0
  59. package/android/src/test/java/com/audiobrowser/player/BrowseTilesTest.kt +385 -0
  60. package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +101 -58
  61. package/android/src/test/java/com/audiobrowser/player/CrossOriginHeaderStripperTest.kt +94 -0
  62. package/android/src/test/java/com/audiobrowser/player/MediaSessionSlotMappingTest.kt +45 -0
  63. package/android/src/test/java/com/audiobrowser/player/NowPlayingUpdaterTest.kt +42 -2
  64. package/android/src/test/java/com/audiobrowser/player/PlaybackErrorClassifierTest.kt +3 -4
  65. package/android/src/test/java/com/audiobrowser/player/PlaybackStateStoreTrackJsonTest.kt +55 -0
  66. package/android/src/test/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicyTest.kt +3 -3
  67. package/android/src/test/java/com/audiobrowser/player/ShuffleOrderLedByTest.kt +79 -0
  68. package/android/src/test/java/com/audiobrowser/tls/AiaCertChaserTest.kt +197 -7
  69. package/android/src/test/java/com/audiobrowser/tls/AiaChasingTrustManagerTest.kt +325 -4
  70. package/android/src/test/java/com/audiobrowser/tls/CachingCertificateFetcherCallSiteTest.kt +322 -0
  71. package/android/src/test/java/com/audiobrowser/tls/CachingCertificateFetcherTest.kt +83 -0
  72. package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +55 -16
  73. package/android/src/test/java/com/audiobrowser/util/MediaExtrasBuilderTest.kt +162 -0
  74. package/android/src/test/java/com/audiobrowser/util/TrackFactoryMediaIdTest.kt +7 -7
  75. package/ios/AVPlayerEngine.swift +330 -0
  76. package/ios/AVPlayerEngineCallbacks.swift +15 -0
  77. package/ios/Browser/BrowseGate.swift +58 -0
  78. package/ios/Browser/BrowserConfig.swift +117 -78
  79. package/ios/Browser/BrowserManager.swift +209 -603
  80. package/ios/Browser/BrowserPathHelper.swift +50 -46
  81. package/ios/Browser/InertStyleDiagnostic.swift +296 -0
  82. package/ios/Browser/JsonModels.swift +264 -106
  83. package/ios/Browser/NavigationErrorState.swift +41 -0
  84. package/ios/Browser/PageResolver.swift +227 -0
  85. package/ios/Browser/RequestLayer.swift +90 -0
  86. package/ios/Browser/{BrowserManager+URLResolution.swift → RequestPipeline.swift} +193 -121
  87. package/ios/Browser/SearchDrillIn.swift +7 -7
  88. package/ios/Browser/SectionScope.swift +58 -24
  89. package/ios/Browser/StyleResolver.swift +58 -0
  90. package/ios/Browser/TabBarEntries.swift +9 -3
  91. package/ios/Browser/TrackIdTemplate.swift +37 -0
  92. package/ios/CarPlay/CPInterfaceController+Safe.swift +100 -43
  93. package/ios/CarPlay/CarPlayArtworkResolver.swift +36 -83
  94. package/ios/CarPlay/CarPlayController.swift +42 -1296
  95. package/ios/CarPlay/CarPlayImageLoader.swift +78 -97
  96. package/ios/CarPlay/CarPlayListItemFactory.swift +303 -92
  97. package/ios/CarPlay/CarPlayNowPlayingManager.swift +129 -136
  98. package/ios/CarPlay/CarPlaySession+Navigator.swift +114 -0
  99. package/ios/CarPlay/CarPlaySession+PageLoader.swift +92 -0
  100. package/ios/CarPlay/CarPlaySession+Refresher.swift +43 -0
  101. package/ios/CarPlay/CarPlaySession+TabBar.swift +193 -0
  102. package/ios/CarPlay/CarPlaySession.swift +209 -0
  103. package/ios/CarPlay/CarPlayTemplates.swift +63 -0
  104. package/ios/CarPlay/HybridAudioBrowser+IntentFavorite.swift +20 -0
  105. package/ios/{Player → CarPlay}/MediaIntentCriteria.swift +17 -9
  106. package/ios/CarPlay/MediaIntentPlayback.swift +74 -0
  107. package/ios/CarPlay/RNABMediaAddHandler.swift +8 -24
  108. package/ios/CarPlay/RNABMediaAffinityHandler.swift +7 -23
  109. package/ios/CarPlay/RNABMediaIntentHandler.swift +18 -19
  110. package/ios/CarPlay/SectionPresentation.swift +77 -0
  111. package/ios/CarPlay/TopTemplateReplacer.swift +96 -0
  112. package/ios/Extension/Capability+RemoteCommand.swift +1 -1
  113. package/ios/Extension/NavigationError+Conversion.swift +14 -4
  114. package/ios/Extension/PlayerCapabilities+Favorite.swift +1 -15
  115. package/ios/Extension/ResolvedTrack+Copying.swift +13 -15
  116. package/ios/Extension/Section+Copying.swift +29 -0
  117. package/ios/Extension/String+IcyCharset.swift +21 -0
  118. package/ios/Extension/TimedMetadata+AVFoundation.swift +6 -4
  119. package/ios/Extension/Track+Copying.swift +8 -12
  120. package/ios/Extension/Track+Identity.swift +18 -0
  121. package/ios/Extension/UIApplication+ActiveScene.swift +27 -0
  122. package/ios/Extension/UIImage+Adaptive.swift +12 -0
  123. package/ios/Extension/URLError+Connectivity.swift +15 -0
  124. package/ios/Http/HttpClient.swift +66 -142
  125. package/ios/HybridAudioBrowser+Browser.swift +153 -0
  126. package/ios/HybridAudioBrowser+Options.swift +144 -0
  127. package/ios/HybridAudioBrowser+Player.swift +397 -0
  128. package/ios/HybridAudioBrowser+PlayerCallbacks.swift +189 -0
  129. package/ios/HybridAudioBrowser+Stubs.swift +46 -0
  130. package/ios/HybridAudioBrowser.swift +153 -1610
  131. package/ios/Model/NitroTypeStubs.swift +146 -24
  132. package/ios/Model/PlayerUpdateOptions.swift +8 -1
  133. package/ios/Model/RemoteCommand.swift +18 -0
  134. package/ios/Model/TrackPlayerError.swift +2 -2
  135. package/ios/NowPlayingInfo/NowPlayingInfoController.swift +18 -53
  136. package/ios/Observer/ItemObserver.swift +90 -0
  137. package/ios/Observer/PlayerObserver.swift +59 -0
  138. package/ios/Option/SessionCategories.swift +42 -92
  139. package/ios/Player/AudioSessionController.swift +189 -0
  140. package/ios/Player/DeferredSeek.swift +70 -0
  141. package/ios/Player/ErrorStatus.swift +27 -0
  142. package/ios/Player/MediaLoader.swift +62 -35
  143. package/ios/Player/NowPlayingUpdater.swift +197 -50
  144. package/ios/Player/PlaybackFailure.swift +125 -0
  145. package/ios/Player/PlaybackPersistence.swift +73 -0
  146. package/ios/Player/PlaybackTimer.swift +8 -2
  147. package/ios/Player/Player.swift +1078 -0
  148. package/ios/Player/{PlaybackCoordinatorCallbacks.swift → PlayerCallbacks.swift} +3 -4
  149. package/ios/Player/PlayerEngine.swift +87 -0
  150. package/ios/Player/PlayerStatusTypes.swift +2 -6
  151. package/ios/Player/QueueManager.swift +93 -67
  152. package/ios/Player/RetryLoop.swift +261 -0
  153. package/ios/Player/ShuffleOrder.swift +33 -0
  154. package/ios/Player/SleepTimerManager.swift +1 -1
  155. package/ios/RemoteCommand/RemoteCommandCallbacks.swift +46 -0
  156. package/ios/RemoteCommand/RemoteCommandController.swift +87 -331
  157. package/ios/Tests/BrowserPathHelperTests.swift +56 -15
  158. package/ios/Tests/CarPlayArtworkResolverTests.swift +60 -373
  159. package/ios/Tests/DeferredSeekTests.swift +70 -0
  160. package/ios/Tests/EmitterTests.swift +29 -0
  161. package/ios/Tests/GenerationMemoTests.swift +121 -0
  162. package/ios/Tests/InertStyleDiagnosticTests.swift +209 -0
  163. package/ios/Tests/JsonModelsTests.swift +164 -1
  164. package/ios/Tests/LRUCacheTests.swift +110 -0
  165. package/ios/Tests/MediaIntentCriteriaTests.swift +2 -2
  166. package/ios/Tests/MediaLoaderTests.swift +12 -48
  167. package/ios/Tests/ObserverTests.swift +88 -0
  168. package/ios/Tests/PlaybackErrorTests.swift +76 -0
  169. package/ios/Tests/PlaybackFailureTests.swift +189 -0
  170. package/ios/Tests/PlaybackPersistenceTests.swift +93 -0
  171. package/ios/Tests/PlayerPolicyTests.swift +420 -0
  172. package/ios/Tests/{PlaybackCoordinatorTests.swift → PlayerTests.swift} +300 -248
  173. package/ios/Tests/PlayingStateTests.swift +42 -0
  174. package/ios/Tests/QueueManagerTests.swift +196 -115
  175. package/ios/Tests/ReadyValueTests.swift +73 -0
  176. package/ios/Tests/RemoteCommandControllerTests.swift +152 -0
  177. package/ios/Tests/RemoteCommandTests.swift +65 -0
  178. package/ios/Tests/RequestLayerTests.swift +112 -0
  179. package/ios/Tests/ResolvedTrackCopyingTests.swift +39 -35
  180. package/ios/Tests/RetryLoopTests.swift +270 -0
  181. package/ios/Tests/SearchDrillInTests.swift +16 -16
  182. package/ios/Tests/SectionPresentationTests.swift +98 -0
  183. package/ios/Tests/SectionScopeTests.swift +87 -55
  184. package/ios/Tests/StyleResolverTests.swift +132 -0
  185. package/ios/Tests/Support/TestTypes.swift +108 -104
  186. package/ios/Tests/TabBarEntriesTests.swift +19 -19
  187. package/ios/Tests/TimedMetadataAVFoundationTests.swift +42 -0
  188. package/ios/Tests/TopTemplateReplacerTests.swift +172 -0
  189. package/ios/Tests/TrackIdTemplateTests.swift +67 -0
  190. package/ios/Tests/TrackIdentityTests.swift +20 -0
  191. package/ios/Tests/TrackSelectorTests.swift +168 -33
  192. package/ios/Tests/URLErrorConnectivityTests.swift +20 -0
  193. package/ios/TrackSelector.swift +46 -31
  194. package/ios/Util/ArtworkImageFetcher.swift +58 -1
  195. package/ios/Util/Emitter.swift +42 -0
  196. package/ios/Util/GenerationMemo.swift +36 -0
  197. package/ios/Util/LRUCache.swift +23 -159
  198. package/ios/Util/NetworkMonitor.swift +43 -26
  199. package/ios/Util/ReadyValue.swift +56 -0
  200. package/ios/Util/SFSymbolRenderer.swift +59 -31
  201. package/ios/Util/SVGProcessor.swift +9 -12
  202. package/lib/commonjs/AudioBrowser.js +8 -8
  203. package/lib/commonjs/AudioBrowser.js.map +1 -1
  204. package/lib/commonjs/CLAUDE.md +52 -0
  205. package/lib/commonjs/features/browser-config.js +12 -8
  206. package/lib/commonjs/features/browser-config.js.map +1 -1
  207. package/lib/commonjs/features/browser.js +11 -3
  208. package/lib/commonjs/features/browser.js.map +1 -1
  209. package/lib/commonjs/features/carConnection.js +1 -1
  210. package/lib/commonjs/features/equalizer.js +1 -1
  211. package/lib/commonjs/features/errors.js +3 -3
  212. package/lib/commonjs/features/favorites.js +14 -11
  213. package/lib/commonjs/features/favorites.js.map +1 -1
  214. package/lib/commonjs/features/gate.js +16 -1
  215. package/lib/commonjs/features/gate.js.map +1 -1
  216. package/lib/commonjs/features/metadata.js +20 -3
  217. package/lib/commonjs/features/metadata.js.map +1 -1
  218. package/lib/commonjs/features/network.js +1 -1
  219. package/lib/commonjs/features/nowPlaying.js +1 -1
  220. package/lib/commonjs/features/output.js +1 -1
  221. package/lib/commonjs/features/playback/controls.js +4 -2
  222. package/lib/commonjs/features/playback/controls.js.map +1 -1
  223. package/lib/commonjs/features/playback/playWhenReady.js +1 -1
  224. package/lib/commonjs/features/playback/playing.js +1 -1
  225. package/lib/commonjs/features/playback/progress.js +3 -2
  226. package/lib/commonjs/features/playback/progress.js.map +1 -1
  227. package/lib/commonjs/features/playback/rate.js +8 -1
  228. package/lib/commonjs/features/playback/rate.js.map +1 -1
  229. package/lib/commonjs/features/playback/state.js +3 -4
  230. package/lib/commonjs/features/playback/state.js.map +1 -1
  231. package/lib/commonjs/features/playback/trackPlaybackTime.js +0 -6
  232. package/lib/commonjs/features/playback/trackPlaybackTime.js.map +1 -1
  233. package/lib/commonjs/features/playback/volume.js +1 -1
  234. package/lib/commonjs/features/player/options.js +48 -34
  235. package/lib/commonjs/features/player/options.js.map +1 -1
  236. package/lib/commonjs/features/player/setup.js +18 -9
  237. package/lib/commonjs/features/player/setup.js.map +1 -1
  238. package/lib/commonjs/features/player/validateOptions.js +23 -0
  239. package/lib/commonjs/features/player/validateOptions.js.map +1 -0
  240. package/lib/commonjs/features/queue/activeTrack.js +15 -4
  241. package/lib/commonjs/features/queue/activeTrack.js.map +1 -1
  242. package/lib/commonjs/features/queue/queue.js +13 -6
  243. package/lib/commonjs/features/queue/queue.js.map +1 -1
  244. package/lib/commonjs/features/queue/repeatMode.js +1 -1
  245. package/lib/commonjs/features/queue/shuffle.js +1 -1
  246. package/lib/commonjs/features/remoteControls.js +13 -92
  247. package/lib/commonjs/features/remoteControls.js.map +1 -1
  248. package/lib/commonjs/features/sleepTimer.js +13 -1
  249. package/lib/commonjs/features/sleepTimer.js.map +1 -1
  250. package/lib/commonjs/test-utils/reactNativeStub.js +65 -0
  251. package/lib/commonjs/test-utils/reactNativeStub.js.map +1 -0
  252. package/lib/commonjs/utils/LazyNativeEmitter.js +28 -14
  253. package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
  254. package/lib/commonjs/utils/NativeUpdatedValue.js +31 -13
  255. package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -1
  256. package/lib/commonjs/utils/getTrackIdentity.js +24 -0
  257. package/lib/commonjs/utils/getTrackIdentity.js.map +1 -0
  258. package/lib/commonjs/utils/useNativeValueRefreshedBy.js +33 -0
  259. package/lib/commonjs/utils/useNativeValueRefreshedBy.js.map +1 -0
  260. package/lib/commonjs/web/NativeAudioBrowser.js +201 -76
  261. package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
  262. package/lib/commonjs/web/TrackPlayer/LoadAttempt.js +37 -0
  263. package/lib/commonjs/web/TrackPlayer/LoadAttempt.js.map +1 -0
  264. package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js +18 -2
  265. package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js.map +1 -1
  266. package/lib/commonjs/web/TrackPlayer/Player.js +254 -39
  267. package/lib/commonjs/web/TrackPlayer/Player.js.map +1 -1
  268. package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js +1 -1
  269. package/lib/commonjs/web/TrackPlayer/QueueManager.js +14 -0
  270. package/lib/commonjs/web/TrackPlayer/QueueManager.js.map +1 -1
  271. package/lib/commonjs/web/TrackPlayer/QueuePlayer.js +33 -12
  272. package/lib/commonjs/web/TrackPlayer/QueuePlayer.js.map +1 -1
  273. package/lib/commonjs/web/browser/BrowserManager.js +175 -100
  274. package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
  275. package/lib/commonjs/web/browser/FavoriteManager.js +30 -21
  276. package/lib/commonjs/web/browser/FavoriteManager.js.map +1 -1
  277. package/lib/commonjs/web/browser/NavigationErrorManager.js +3 -1
  278. package/lib/commonjs/web/browser/NavigationErrorManager.js.map +1 -1
  279. package/lib/commonjs/web/browser/SearchManager.js +18 -23
  280. package/lib/commonjs/web/browser/SearchManager.js.map +1 -1
  281. package/lib/commonjs/web/browser/assertBrowsePageShape.js +2 -2
  282. package/lib/commonjs/web/browser/assertBrowsePageShape.js.map +1 -1
  283. package/lib/commonjs/web/browser/classifyTrackNavigation.js +9 -9
  284. package/lib/commonjs/web/browser/classifyTrackNavigation.js.map +1 -1
  285. package/lib/commonjs/web/browser/sections.js +89 -0
  286. package/lib/commonjs/web/browser/sections.js.map +1 -0
  287. package/lib/commonjs/web/http/RequestConfigBuilder.js +110 -27
  288. package/lib/commonjs/web/http/RequestConfigBuilder.js.map +1 -1
  289. package/lib/commonjs/web/http/followMediaRedirect.js +219 -0
  290. package/lib/commonjs/web/http/followMediaRedirect.js.map +1 -0
  291. package/lib/commonjs/web/player/NowPlayingManager.js +4 -3
  292. package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
  293. package/lib/commonjs/web/util/BrowserPathHelper.js +62 -11
  294. package/lib/commonjs/web/util/BrowserPathHelper.js.map +1 -1
  295. package/lib/module/AudioBrowser.js +2 -1
  296. package/lib/module/AudioBrowser.js.map +1 -1
  297. package/lib/module/CLAUDE.md +52 -0
  298. package/lib/module/features/browser-config.js +12 -8
  299. package/lib/module/features/browser-config.js.map +1 -1
  300. package/lib/module/features/browser.js +11 -3
  301. package/lib/module/features/browser.js.map +1 -1
  302. package/lib/module/features/carConnection.js +1 -1
  303. package/lib/module/features/equalizer.js +1 -1
  304. package/lib/module/features/errors.js +3 -3
  305. package/lib/module/features/favorites.js +14 -11
  306. package/lib/module/features/favorites.js.map +1 -1
  307. package/lib/module/features/gate.js +16 -1
  308. package/lib/module/features/gate.js.map +1 -1
  309. package/lib/module/features/metadata.js +20 -3
  310. package/lib/module/features/metadata.js.map +1 -1
  311. package/lib/module/features/network.js +1 -1
  312. package/lib/module/features/nowPlaying.js +1 -1
  313. package/lib/module/features/output.js +1 -1
  314. package/lib/module/features/playback/controls.js +4 -2
  315. package/lib/module/features/playback/controls.js.map +1 -1
  316. package/lib/module/features/playback/playWhenReady.js +1 -1
  317. package/lib/module/features/playback/playing.js +1 -1
  318. package/lib/module/features/playback/progress.js +3 -2
  319. package/lib/module/features/playback/progress.js.map +1 -1
  320. package/lib/module/features/playback/rate.js +8 -1
  321. package/lib/module/features/playback/rate.js.map +1 -1
  322. package/lib/module/features/playback/state.js +3 -4
  323. package/lib/module/features/playback/state.js.map +1 -1
  324. package/lib/module/features/playback/trackPlaybackTime.js +0 -5
  325. package/lib/module/features/playback/trackPlaybackTime.js.map +1 -1
  326. package/lib/module/features/playback/volume.js +1 -1
  327. package/lib/module/features/player/options.js +47 -32
  328. package/lib/module/features/player/options.js.map +1 -1
  329. package/lib/module/features/player/setup.js +17 -8
  330. package/lib/module/features/player/setup.js.map +1 -1
  331. package/lib/module/features/player/validateOptions.js +19 -0
  332. package/lib/module/features/player/validateOptions.js.map +1 -0
  333. package/lib/module/features/queue/activeTrack.js +15 -4
  334. package/lib/module/features/queue/activeTrack.js.map +1 -1
  335. package/lib/module/features/queue/queue.js +13 -6
  336. package/lib/module/features/queue/queue.js.map +1 -1
  337. package/lib/module/features/queue/repeatMode.js +1 -1
  338. package/lib/module/features/queue/shuffle.js +1 -1
  339. package/lib/module/features/remoteControls.js +13 -92
  340. package/lib/module/features/remoteControls.js.map +1 -1
  341. package/lib/module/features/sleepTimer.js +13 -1
  342. package/lib/module/features/sleepTimer.js.map +1 -1
  343. package/lib/module/test-utils/reactNativeStub.js +58 -0
  344. package/lib/module/test-utils/reactNativeStub.js.map +1 -0
  345. package/lib/module/utils/LazyNativeEmitter.js +28 -14
  346. package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
  347. package/lib/module/utils/NativeUpdatedValue.js +31 -13
  348. package/lib/module/utils/NativeUpdatedValue.js.map +1 -1
  349. package/lib/module/utils/getTrackIdentity.js +20 -0
  350. package/lib/module/utils/getTrackIdentity.js.map +1 -0
  351. package/lib/module/utils/useNativeValueRefreshedBy.js +29 -0
  352. package/lib/module/utils/useNativeValueRefreshedBy.js.map +1 -0
  353. package/lib/module/web/NativeAudioBrowser.js +201 -76
  354. package/lib/module/web/NativeAudioBrowser.js.map +1 -1
  355. package/lib/module/web/TrackPlayer/LoadAttempt.js +32 -0
  356. package/lib/module/web/TrackPlayer/LoadAttempt.js.map +1 -0
  357. package/lib/module/web/TrackPlayer/PlaybackStateMachine.js +18 -2
  358. package/lib/module/web/TrackPlayer/PlaybackStateMachine.js.map +1 -1
  359. package/lib/module/web/TrackPlayer/Player.js +254 -39
  360. package/lib/module/web/TrackPlayer/Player.js.map +1 -1
  361. package/lib/module/web/TrackPlayer/PlayingStateFactory.js +1 -1
  362. package/lib/module/web/TrackPlayer/QueueManager.js +14 -0
  363. package/lib/module/web/TrackPlayer/QueueManager.js.map +1 -1
  364. package/lib/module/web/TrackPlayer/QueuePlayer.js +33 -12
  365. package/lib/module/web/TrackPlayer/QueuePlayer.js.map +1 -1
  366. package/lib/module/web/browser/BrowserManager.js +175 -100
  367. package/lib/module/web/browser/BrowserManager.js.map +1 -1
  368. package/lib/module/web/browser/FavoriteManager.js +31 -21
  369. package/lib/module/web/browser/FavoriteManager.js.map +1 -1
  370. package/lib/module/web/browser/NavigationErrorManager.js +3 -1
  371. package/lib/module/web/browser/NavigationErrorManager.js.map +1 -1
  372. package/lib/module/web/browser/SearchManager.js +18 -23
  373. package/lib/module/web/browser/SearchManager.js.map +1 -1
  374. package/lib/module/web/browser/assertBrowsePageShape.js +2 -2
  375. package/lib/module/web/browser/assertBrowsePageShape.js.map +1 -1
  376. package/lib/module/web/browser/classifyTrackNavigation.js +9 -9
  377. package/lib/module/web/browser/classifyTrackNavigation.js.map +1 -1
  378. package/lib/module/web/browser/sections.js +83 -0
  379. package/lib/module/web/browser/sections.js.map +1 -0
  380. package/lib/module/web/http/RequestConfigBuilder.js +110 -27
  381. package/lib/module/web/http/RequestConfigBuilder.js.map +1 -1
  382. package/lib/module/web/http/followMediaRedirect.js +215 -0
  383. package/lib/module/web/http/followMediaRedirect.js.map +1 -0
  384. package/lib/module/web/player/NowPlayingManager.js +4 -3
  385. package/lib/module/web/player/NowPlayingManager.js.map +1 -1
  386. package/lib/module/web/util/BrowserPathHelper.js +62 -11
  387. package/lib/module/web/util/BrowserPathHelper.js.map +1 -1
  388. package/lib/typescript/package.json +1 -0
  389. package/lib/typescript/src/AudioBrowser.d.ts +1 -1
  390. package/lib/typescript/src/AudioBrowser.d.ts.map +1 -1
  391. package/lib/typescript/src/features/browser-config.d.ts.map +1 -1
  392. package/lib/typescript/src/features/browser.d.ts +10 -2
  393. package/lib/typescript/src/features/browser.d.ts.map +1 -1
  394. package/lib/typescript/src/features/carConnection.d.ts +1 -1
  395. package/lib/typescript/src/features/equalizer.d.ts +1 -1
  396. package/lib/typescript/src/features/errors.d.ts +3 -3
  397. package/lib/typescript/src/features/favorites.d.ts +14 -11
  398. package/lib/typescript/src/features/favorites.d.ts.map +1 -1
  399. package/lib/typescript/src/features/gate.d.ts +18 -2
  400. package/lib/typescript/src/features/gate.d.ts.map +1 -1
  401. package/lib/typescript/src/features/metadata.d.ts +20 -3
  402. package/lib/typescript/src/features/metadata.d.ts.map +1 -1
  403. package/lib/typescript/src/features/network.d.ts +1 -1
  404. package/lib/typescript/src/features/nowPlaying.d.ts +1 -1
  405. package/lib/typescript/src/features/output.d.ts +1 -1
  406. package/lib/typescript/src/features/playback/controls.d.ts +4 -2
  407. package/lib/typescript/src/features/playback/controls.d.ts.map +1 -1
  408. package/lib/typescript/src/features/playback/playWhenReady.d.ts +1 -1
  409. package/lib/typescript/src/features/playback/playing.d.ts +1 -1
  410. package/lib/typescript/src/features/playback/progress.d.ts +1 -1
  411. package/lib/typescript/src/features/playback/progress.d.ts.map +1 -1
  412. package/lib/typescript/src/features/playback/rate.d.ts +8 -1
  413. package/lib/typescript/src/features/playback/rate.d.ts.map +1 -1
  414. package/lib/typescript/src/features/playback/state.d.ts +3 -4
  415. package/lib/typescript/src/features/playback/state.d.ts.map +1 -1
  416. package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts +1 -1
  417. package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts.map +1 -1
  418. package/lib/typescript/src/features/playback/volume.d.ts +1 -1
  419. package/lib/typescript/src/features/player/options.d.ts +108 -56
  420. package/lib/typescript/src/features/player/options.d.ts.map +1 -1
  421. package/lib/typescript/src/features/player/setup.d.ts +14 -4
  422. package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
  423. package/lib/typescript/src/features/player/validateOptions.d.ts +2 -0
  424. package/lib/typescript/src/features/player/validateOptions.d.ts.map +1 -0
  425. package/lib/typescript/src/features/queue/activeTrack.d.ts +9 -2
  426. package/lib/typescript/src/features/queue/activeTrack.d.ts.map +1 -1
  427. package/lib/typescript/src/features/queue/queue.d.ts +7 -4
  428. package/lib/typescript/src/features/queue/queue.d.ts.map +1 -1
  429. package/lib/typescript/src/features/queue/repeatMode.d.ts +1 -1
  430. package/lib/typescript/src/features/queue/shuffle.d.ts +1 -1
  431. package/lib/typescript/src/features/remoteControls.d.ts +23 -22
  432. package/lib/typescript/src/features/remoteControls.d.ts.map +1 -1
  433. package/lib/typescript/src/features/sleepTimer.d.ts +1 -1
  434. package/lib/typescript/src/features/sleepTimer.d.ts.map +1 -1
  435. package/lib/typescript/src/test-utils/reactNativeStub.d.ts +36 -0
  436. package/lib/typescript/src/test-utils/reactNativeStub.d.ts.map +1 -0
  437. package/lib/typescript/src/types/browser-native.d.ts +3 -2
  438. package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
  439. package/lib/typescript/src/types/browser-nodes.d.ts +387 -126
  440. package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
  441. package/lib/typescript/src/types/browser.d.ts +93 -61
  442. package/lib/typescript/src/types/browser.d.ts.map +1 -1
  443. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +19 -16
  444. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
  445. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +24 -19
  446. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -1
  447. package/lib/typescript/src/utils/getTrackIdentity.d.ts +18 -0
  448. package/lib/typescript/src/utils/getTrackIdentity.d.ts.map +1 -0
  449. package/lib/typescript/src/utils/resolveAssetSource.d.ts +1 -2
  450. package/lib/typescript/src/utils/resolveAssetSource.d.ts.map +1 -1
  451. package/lib/typescript/src/utils/useNativeValueRefreshedBy.d.ts +21 -0
  452. package/lib/typescript/src/utils/useNativeValueRefreshedBy.d.ts.map +1 -0
  453. package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +1 -2
  454. package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +4 -2
  455. package/nitrogen/generated/android/c++/JAndroidAudioContentType.hpp +2 -2
  456. package/nitrogen/generated/android/c++/JAndroidAudioOffloadSettings.hpp +2 -2
  457. package/nitrogen/generated/android/c++/JAndroidOptions.hpp +12 -12
  458. package/nitrogen/generated/android/c++/JAndroidPlayerWakeMode.hpp +2 -2
  459. package/nitrogen/generated/android/c++/JAppKilledPlaybackBehavior.hpp +2 -2
  460. package/nitrogen/generated/android/c++/JArtworkRendering.hpp +58 -0
  461. package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +10 -5
  462. package/nitrogen/generated/android/c++/JArtworkVariants.hpp +2 -2
  463. package/nitrogen/generated/android/c++/JBatteryOptimizationStatus.hpp +2 -2
  464. package/nitrogen/generated/android/c++/JBatteryOptimizationStatusChangedEvent.hpp +2 -2
  465. package/nitrogen/generated/android/c++/JBatteryWarningPendingChangedEvent.hpp +2 -2
  466. package/nitrogen/generated/android/c++/JBrowseError.hpp +2 -2
  467. package/nitrogen/generated/android/c++/JBrowseResult.hpp +19 -7
  468. package/nitrogen/generated/android/c++/JBrowserSourceCallbackParam.hpp +2 -2
  469. package/nitrogen/generated/android/c++/JCarPlayNowPlayingButton.hpp +2 -2
  470. package/nitrogen/generated/android/c++/JCarPlayPlayingIndicatorLocation.hpp +58 -0
  471. package/nitrogen/generated/android/c++/JCarPlaySiriListButtonPosition.hpp +2 -2
  472. package/nitrogen/generated/android/c++/JCardImage.hpp +58 -0
  473. package/nitrogen/generated/android/c++/JChapterMetadata.hpp +2 -2
  474. package/nitrogen/generated/android/c++/JEqualizerSettings.hpp +10 -10
  475. package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +10 -5
  476. package/nitrogen/generated/android/c++/JFormatNavigationErrorParams.hpp +11 -5
  477. package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +10 -5
  478. package/nitrogen/generated/android/c++/JFormattedNavigationError.hpp +2 -2
  479. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.hpp +2 -2
  480. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.hpp +9 -9
  481. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +10 -5
  482. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams.hpp +4 -2
  483. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +10 -5
  484. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +10 -5
  485. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.hpp +2 -2
  486. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____MediaTransformParams.hpp +2 -2
  487. 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 +9 -9
  488. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +10 -5
  489. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.hpp +2 -2
  490. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +18 -12
  491. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +10 -4
  492. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__string__.hpp +102 -0
  493. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.hpp +18 -6
  494. package/nitrogen/generated/android/c++/JFunc_void.hpp +2 -2
  495. package/nitrogen/generated/android/c++/JFunc_void_BatteryOptimizationStatusChangedEvent.hpp +2 -2
  496. package/nitrogen/generated/android/c++/JFunc_void_BatteryWarningPendingChangedEvent.hpp +2 -2
  497. package/nitrogen/generated/android/c++/JFunc_void_EqualizerSettings.hpp +2 -2
  498. package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +10 -5
  499. package/nitrogen/generated/android/c++/JFunc_void_GateEvent.hpp +2 -2
  500. package/nitrogen/generated/android/c++/JFunc_void_NavigationErrorEvent.hpp +2 -2
  501. package/nitrogen/generated/android/c++/JFunc_void_NowPlayingMetadata.hpp +2 -2
  502. package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +9 -12
  503. package/nitrogen/generated/android/c++/JFunc_void_Output.hpp +2 -2
  504. package/nitrogen/generated/android/c++/JFunc_void_Playback.hpp +2 -2
  505. package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +10 -5
  506. package/nitrogen/generated/android/c++/JFunc_void_PlaybackErrorEvent.hpp +2 -2
  507. package/nitrogen/generated/android/c++/JFunc_void_PlaybackPlayWhenReadyChangedEvent.hpp +2 -2
  508. package/nitrogen/generated/android/c++/JFunc_void_PlaybackProgressUpdatedEvent.hpp +2 -2
  509. package/nitrogen/generated/android/c++/JFunc_void_PlaybackQueueEndedEvent.hpp +2 -2
  510. package/nitrogen/generated/android/c++/JFunc_void_PlayingState.hpp +2 -2
  511. package/nitrogen/generated/android/c++/JFunc_void_RemoteJumpBackwardEvent.hpp +2 -2
  512. package/nitrogen/generated/android/c++/JFunc_void_RemoteJumpForwardEvent.hpp +2 -2
  513. package/nitrogen/generated/android/c++/JFunc_void_RemotePlayIdEvent.hpp +2 -2
  514. package/nitrogen/generated/android/c++/JFunc_void_RemotePlaySearchEvent.hpp +2 -2
  515. package/nitrogen/generated/android/c++/JFunc_void_RemoteSeekEvent.hpp +2 -2
  516. package/nitrogen/generated/android/c++/JFunc_void_RemoteSkipEvent.hpp +2 -2
  517. package/nitrogen/generated/android/c++/JFunc_void_RepeatModeChangedEvent.hpp +2 -2
  518. package/nitrogen/generated/android/c++/JFunc_void_TimedMetadata.hpp +2 -2
  519. package/nitrogen/generated/android/c++/JFunc_void_TrackMetadata.hpp +2 -2
  520. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +2 -2
  521. package/nitrogen/generated/android/c++/JFunc_void_double.hpp +2 -2
  522. package/nitrogen/generated/android/c++/JFunc_void_std__optional_FormattedNavigationError_.hpp +2 -2
  523. package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +17 -5
  524. package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__SleepTimerTime__SleepTimerEndOfTrack__.hpp +2 -2
  525. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +2 -2
  526. package/nitrogen/generated/android/c++/JFunc_void_std__vector_ChapterMetadata_.hpp +16 -16
  527. package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +24 -18
  528. package/nitrogen/generated/android/c++/JGate.hpp +2 -2
  529. package/nitrogen/generated/android/c++/JGateDecision.hpp +2 -2
  530. package/nitrogen/generated/android/c++/JGateEvent.hpp +2 -2
  531. package/nitrogen/generated/android/c++/JGateReason.hpp +2 -2
  532. package/nitrogen/generated/android/c++/JGridTile.hpp +64 -0
  533. package/nitrogen/generated/android/c++/JHttpMethod.hpp +2 -2
  534. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +77 -53
  535. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.hpp +3 -3
  536. package/nitrogen/generated/android/c++/JIOSCategory.hpp +2 -2
  537. package/nitrogen/generated/android/c++/JIOSCategoryMode.hpp +2 -2
  538. package/nitrogen/generated/android/c++/JIOSCategoryOptions.hpp +2 -2
  539. package/nitrogen/generated/android/c++/JIOSCategoryPolicy.hpp +2 -2
  540. package/nitrogen/generated/android/c++/JIOSOptions.hpp +17 -11
  541. package/nitrogen/generated/android/c++/JImageContext.hpp +2 -2
  542. package/nitrogen/generated/android/c++/JImageQueryParams.hpp +2 -2
  543. package/nitrogen/generated/android/c++/JImageShape.hpp +58 -0
  544. package/nitrogen/generated/android/c++/JImageSource.hpp +2 -2
  545. package/nitrogen/generated/android/c++/JMediaReference.hpp +2 -2
  546. package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +10 -5
  547. package/nitrogen/generated/android/c++/JMediaTransformParams.hpp +2 -2
  548. package/nitrogen/generated/android/c++/JNativeAndroidSetupOptions.hpp +2 -2
  549. package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +48 -21
  550. package/nitrogen/generated/android/c++/JNativeGateRequest.hpp +2 -2
  551. package/nitrogen/generated/android/c++/JNativeIOSSetupOptions.hpp +10 -10
  552. package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +16 -4
  553. package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +17 -14
  554. package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +9 -12
  555. package/nitrogen/generated/android/c++/JNavigationError.hpp +2 -2
  556. package/nitrogen/generated/android/c++/JNavigationErrorEvent.hpp +2 -2
  557. package/nitrogen/generated/android/c++/JNavigationErrorKind.hpp +58 -0
  558. package/nitrogen/generated/android/c++/JNavigationErrorType.hpp +2 -2
  559. package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +12 -12
  560. package/nitrogen/generated/android/c++/JNitroIOSUpdateOptions.hpp +17 -11
  561. package/nitrogen/generated/android/c++/JNowPlayingMetadata.hpp +2 -2
  562. package/nitrogen/generated/android/c++/JNowPlayingUpdate.hpp +2 -2
  563. package/nitrogen/generated/android/c++/JOptions.hpp +9 -12
  564. package/nitrogen/generated/android/c++/JOutput.hpp +2 -2
  565. package/nitrogen/generated/android/c++/JOutputType.hpp +2 -2
  566. package/nitrogen/generated/android/c++/JPlayback.hpp +2 -2
  567. package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +10 -5
  568. package/nitrogen/generated/android/c++/JPlaybackError.hpp +2 -2
  569. package/nitrogen/generated/android/c++/JPlaybackErrorEvent.hpp +2 -2
  570. package/nitrogen/generated/android/c++/JPlaybackErrorKind.hpp +2 -2
  571. package/nitrogen/generated/android/c++/JPlaybackPlayWhenReadyChangedEvent.hpp +2 -2
  572. package/nitrogen/generated/android/c++/JPlaybackProgressUpdatedEvent.hpp +2 -2
  573. package/nitrogen/generated/android/c++/JPlaybackQueueEndedEvent.hpp +2 -2
  574. package/nitrogen/generated/android/c++/JPlaybackState.hpp +2 -2
  575. package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +7 -13
  576. package/nitrogen/generated/android/c++/JPlayingState.hpp +2 -2
  577. package/nitrogen/generated/android/c++/JProgress.hpp +2 -2
  578. package/nitrogen/generated/android/c++/{JNotificationButton.hpp → JRemoteButton.hpp} +19 -19
  579. package/nitrogen/generated/android/c++/JRemoteButtonLayout.hpp +86 -0
  580. package/nitrogen/generated/android/c++/JRemoteJumpBackwardEvent.hpp +2 -2
  581. package/nitrogen/generated/android/c++/JRemoteJumpForwardEvent.hpp +2 -2
  582. package/nitrogen/generated/android/c++/JRemotePlayIdEvent.hpp +2 -2
  583. package/nitrogen/generated/android/c++/JRemotePlaySearchEvent.hpp +2 -2
  584. package/nitrogen/generated/android/c++/JRemoteSeekEvent.hpp +2 -2
  585. package/nitrogen/generated/android/c++/JRemoteSkipEvent.hpp +2 -2
  586. package/nitrogen/generated/android/c++/JRepeatMode.hpp +2 -2
  587. package/nitrogen/generated/android/c++/JRepeatModeChangedEvent.hpp +2 -2
  588. package/nitrogen/generated/android/c++/JRequestConfig.hpp +2 -2
  589. package/nitrogen/generated/android/c++/JResolvedTrack.hpp +67 -59
  590. package/nitrogen/generated/android/c++/JRetryConfig.hpp +2 -2
  591. package/nitrogen/generated/android/c++/JSearchMode.hpp +2 -2
  592. package/nitrogen/generated/android/c++/JSearchParams.hpp +2 -2
  593. package/nitrogen/generated/android/c++/JSection.hpp +116 -0
  594. package/nitrogen/generated/android/c++/JSectionStyle.hpp +96 -0
  595. package/nitrogen/generated/android/c++/JSleepTimer.hpp +4 -4
  596. package/nitrogen/generated/android/c++/JSleepTimerEndOfTrack.hpp +2 -2
  597. package/nitrogen/generated/android/c++/JSleepTimerTime.hpp +2 -2
  598. package/nitrogen/generated/android/c++/JStallReason.hpp +2 -2
  599. package/nitrogen/generated/android/c++/JStyleDisplay.hpp +58 -0
  600. package/nitrogen/generated/android/c++/JTimedMetadata.hpp +2 -2
  601. package/nitrogen/generated/android/c++/JTrack.hpp +27 -48
  602. package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +18 -12
  603. package/nitrogen/generated/android/c++/JTrackMetadata.hpp +2 -2
  604. package/nitrogen/generated/android/c++/JTrackRequest.hpp +2 -2
  605. package/nitrogen/generated/android/c++/JTrackStyle.hpp +47 -19
  606. package/nitrogen/generated/android/c++/JTransformableRequestConfig.hpp +2 -2
  607. package/nitrogen/generated/android/c++/JVariant_Boolean_AndroidAudioOffloadSettings.hpp +3 -3
  608. package/nitrogen/generated/android/c++/JVariant_Boolean_RetryConfig.hpp +3 -3
  609. package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +3 -3
  610. package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.cpp +26 -0
  611. package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.hpp +75 -0
  612. package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +20 -8
  613. package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.hpp +3 -3
  614. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidAudioOffloadSettings.kt +15 -0
  615. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidOptions.kt +20 -3
  616. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoritesMatchMode.kt → ArtworkRendering.kt} +5 -5
  617. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkRequestConfig.kt +37 -0
  618. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkVariants.kt +15 -0
  619. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BatteryOptimizationStatusChangedEvent.kt +13 -0
  620. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BatteryWarningPendingChangedEvent.kt +13 -0
  621. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BrowseError.kt +13 -0
  622. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BrowseResult.kt +16 -7
  623. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/BrowserSourceCallbackParam.kt +15 -0
  624. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayPlayingIndicatorLocation.kt +23 -0
  625. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CardImage.kt +23 -0
  626. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ChapterMetadata.kt +19 -0
  627. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/EqualizerSettings.kt +27 -0
  628. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FavoriteChangedEvent.kt +15 -0
  629. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormatNavigationErrorParams.kt +25 -3
  630. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormatNowPlayingParams.kt +21 -0
  631. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormattedNavigationError.kt +15 -0
  632. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.kt +0 -2
  633. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.kt +0 -2
  634. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___Track.kt +0 -2
  635. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams.kt +0 -2
  636. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.kt +0 -2
  637. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_std__string____Track.kt +0 -2
  638. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.kt +0 -2
  639. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____MediaTransformParams.kt +0 -2
  640. 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 +0 -2
  641. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.kt +0 -2
  642. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.kt +0 -2
  643. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.kt +0 -2
  644. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.kt +0 -2
  645. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__string__.kt +78 -0
  646. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.kt +0 -2
  647. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void.kt +0 -2
  648. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_BatteryOptimizationStatusChangedEvent.kt +0 -2
  649. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_BatteryWarningPendingChangedEvent.kt +0 -2
  650. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_EqualizerSettings.kt +0 -2
  651. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_FavoriteChangedEvent.kt +0 -2
  652. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_GateEvent.kt +0 -2
  653. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_NavigationErrorEvent.kt +0 -2
  654. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_NowPlayingMetadata.kt +0 -2
  655. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_Options.kt +0 -2
  656. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_Output.kt +0 -2
  657. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_Playback.kt +0 -2
  658. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackActiveTrackChangedEvent.kt +0 -2
  659. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackErrorEvent.kt +0 -2
  660. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackPlayWhenReadyChangedEvent.kt +0 -2
  661. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackProgressUpdatedEvent.kt +0 -2
  662. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlaybackQueueEndedEvent.kt +0 -2
  663. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_PlayingState.kt +0 -2
  664. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteJumpBackwardEvent.kt +0 -2
  665. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteJumpForwardEvent.kt +0 -2
  666. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemotePlayIdEvent.kt +0 -2
  667. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemotePlaySearchEvent.kt +0 -2
  668. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteSeekEvent.kt +0 -2
  669. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteSkipEvent.kt +0 -2
  670. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RepeatModeChangedEvent.kt +0 -2
  671. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_TimedMetadata.kt +0 -2
  672. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_TrackMetadata.kt +0 -2
  673. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_bool.kt +0 -2
  674. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_double.kt +0 -2
  675. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__optional_FormattedNavigationError_.kt +0 -2
  676. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__optional_ResolvedTrack_.kt +0 -2
  677. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__optional_std__variant_nitro__NullType__SleepTimerTime__SleepTimerEndOfTrack__.kt +0 -2
  678. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__string.kt +0 -2
  679. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__vector_ChapterMetadata_.kt +0 -2
  680. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_std__vector_Track_.kt +0 -2
  681. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Gate.kt +15 -0
  682. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/GateDecision.kt +15 -0
  683. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/GateEvent.kt +13 -0
  684. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/GridTile.kt +25 -0
  685. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HybridAudioBrowserSpec.kt +3 -1
  686. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSOptions.kt +25 -3
  687. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageContext.kt +15 -0
  688. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageQueryParams.kt +15 -0
  689. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageShape.kt +23 -0
  690. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageSource.kt +19 -0
  691. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaRequestConfig.kt +35 -0
  692. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaTransformParams.kt +15 -0
  693. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeAndroidSetupOptions.kt +31 -0
  694. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +51 -5
  695. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeGateRequest.kt +17 -0
  696. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeIOSSetupOptions.kt +21 -0
  697. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeRouteEntry.kt +27 -0
  698. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeSetupPlayerOptions.kt +29 -0
  699. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeUpdateOptions.kt +23 -0
  700. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationError.kt +19 -0
  701. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorEvent.kt +13 -0
  702. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorKind.kt +23 -0
  703. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +20 -3
  704. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroIOSUpdateOptions.kt +25 -3
  705. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingMetadata.kt +29 -0
  706. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingUpdate.kt +17 -0
  707. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Options.kt +23 -0
  708. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Output.kt +17 -0
  709. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Playback.kt +15 -0
  710. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackActiveTrackChangedEvent.kt +21 -0
  711. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackError.kt +21 -0
  712. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackErrorEvent.kt +13 -0
  713. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackPlayWhenReadyChangedEvent.kt +13 -0
  714. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackProgressUpdatedEvent.kt +19 -0
  715. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackQueueEndedEvent.kt +15 -0
  716. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayerCapabilities.kt +37 -2
  717. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayingState.kt +15 -0
  718. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Progress.kt +17 -0
  719. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{NotificationButton.kt → RemoteButton.kt} +3 -3
  720. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteButtonLayout.kt +61 -0
  721. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteJumpBackwardEvent.kt +13 -0
  722. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteJumpForwardEvent.kt +13 -0
  723. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemotePlayIdEvent.kt +15 -0
  724. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemotePlaySearchEvent.kt +13 -0
  725. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteSeekEvent.kt +13 -0
  726. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteSkipEvent.kt +13 -0
  727. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RepeatModeChangedEvent.kt +13 -0
  728. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RequestConfig.kt +27 -0
  729. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ResolvedTrack.kt +67 -15
  730. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RetryConfig.kt +17 -0
  731. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchParams.kt +27 -0
  732. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Section.kt +66 -0
  733. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SectionStyle.kt +86 -0
  734. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SleepTimer.kt +18 -8
  735. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SleepTimerEndOfTrack.kt +13 -0
  736. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SleepTimerTime.kt +13 -0
  737. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StyleDisplay.kt +23 -0
  738. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TimedMetadata.kt +21 -0
  739. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +55 -12
  740. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackLoadEvent.kt +17 -0
  741. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackMetadata.kt +43 -0
  742. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackRequest.kt +17 -0
  743. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackStyle.kt +58 -5
  744. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TransformableRequestConfig.kt +31 -0
  745. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_AndroidAudioOffloadSettings.kt +16 -7
  746. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_RetryConfig.kt +16 -7
  747. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_NullType_Double.kt +16 -7
  748. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Variant_NullType_NotificationButtonLayout.kt → Variant_NullType_RemoteButtonLayout.kt} +24 -15
  749. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.kt +18 -8
  750. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_String_ArtworkVariants.kt +16 -7
  751. package/nitrogen/generated/ios/AudioBrowser+autolinking.rb +2 -0
  752. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +38 -29
  753. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +779 -665
  754. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +34 -16
  755. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +36 -18
  756. package/nitrogen/generated/ios/swift/AndroidOptions.swift +12 -12
  757. package/nitrogen/generated/ios/swift/ArtworkRendering.swift +40 -0
  758. package/nitrogen/generated/ios/swift/BrowseResult.swift +12 -0
  759. package/nitrogen/generated/ios/swift/CarPlayPlayingIndicatorLocation.swift +40 -0
  760. package/nitrogen/generated/ios/swift/CardImage.swift +40 -0
  761. package/nitrogen/generated/ios/swift/FormatNavigationErrorParams.swift +7 -2
  762. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__string__.swift +54 -0
  763. package/nitrogen/generated/ios/swift/GridTile.swift +48 -0
  764. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec.swift +1 -1
  765. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec_cxx.swift +2 -2
  766. package/nitrogen/generated/ios/swift/IOSOptions.swift +7 -2
  767. package/nitrogen/generated/ios/swift/ImageShape.swift +40 -0
  768. package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +52 -5
  769. package/nitrogen/generated/ios/swift/NavigationErrorKind.swift +40 -0
  770. package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +12 -12
  771. package/nitrogen/generated/ios/swift/NitroIOSUpdateOptions.swift +12 -1
  772. package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +8 -27
  773. package/nitrogen/generated/ios/swift/{NotificationButton.swift → RemoteButton.swift} +6 -6
  774. package/nitrogen/generated/ios/swift/RemoteButtonLayout.swift +57 -0
  775. package/nitrogen/generated/ios/swift/ResolvedTrack.swift +62 -73
  776. package/nitrogen/generated/ios/swift/Section.swift +82 -0
  777. package/nitrogen/generated/ios/swift/SectionStyle.swift +133 -0
  778. package/nitrogen/generated/ios/swift/SleepTimer.swift +13 -0
  779. package/nitrogen/generated/ios/swift/StyleDisplay.swift +40 -0
  780. package/nitrogen/generated/ios/swift/Track.swift +28 -63
  781. package/nitrogen/generated/ios/swift/TrackStyle.swift +86 -22
  782. package/nitrogen/generated/ios/swift/Variant_Bool_AndroidAudioOffloadSettings.swift +12 -0
  783. package/nitrogen/generated/ios/swift/Variant_Bool_RetryConfig.swift +12 -0
  784. package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +12 -0
  785. package/nitrogen/generated/ios/swift/Variant_NullType_RemoteButtonLayout.swift +30 -0
  786. package/nitrogen/generated/ios/swift/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.swift +13 -0
  787. package/nitrogen/generated/ios/swift/Variant_String_ArtworkVariants.swift +12 -0
  788. package/nitrogen/generated/shared/c++/AndroidOptions.hpp +8 -8
  789. package/nitrogen/generated/shared/c++/{FavoritesMatchMode.hpp → ArtworkRendering.hpp} +17 -17
  790. package/nitrogen/generated/shared/c++/CarPlayPlayingIndicatorLocation.hpp +76 -0
  791. package/nitrogen/generated/shared/c++/CardImage.hpp +76 -0
  792. package/nitrogen/generated/shared/c++/FormatNavigationErrorParams.hpp +9 -2
  793. package/nitrogen/generated/shared/c++/GridTile.hpp +84 -0
  794. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.cpp +1 -1
  795. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.hpp +1 -1
  796. package/nitrogen/generated/shared/c++/IOSOptions.hpp +9 -2
  797. package/nitrogen/generated/shared/c++/ImageShape.hpp +76 -0
  798. package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +10 -6
  799. package/nitrogen/generated/shared/c++/NavigationErrorKind.hpp +76 -0
  800. package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +8 -8
  801. package/nitrogen/generated/shared/c++/NitroIOSUpdateOptions.hpp +9 -2
  802. package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +6 -9
  803. package/nitrogen/generated/shared/c++/{NotificationButton.hpp → RemoteButton.hpp} +19 -19
  804. package/nitrogen/generated/shared/c++/RemoteButtonLayout.hpp +94 -0
  805. package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +33 -37
  806. package/nitrogen/generated/shared/c++/Section.hpp +102 -0
  807. package/nitrogen/generated/shared/c++/SectionStyle.hpp +126 -0
  808. package/nitrogen/generated/shared/c++/StyleDisplay.hpp +76 -0
  809. package/nitrogen/generated/shared/c++/Track.hpp +18 -30
  810. package/nitrogen/generated/shared/c++/TrackStyle.hpp +73 -34
  811. package/package.json +24 -11
  812. package/src/AudioBrowser.ts +2 -1
  813. package/src/CLAUDE.md +52 -0
  814. package/src/features/battery.test.ts +79 -0
  815. package/src/features/browser-config.test.ts +21 -6
  816. package/src/features/browser-config.ts +12 -8
  817. package/src/features/browser.test.ts +1 -1
  818. package/src/features/browser.ts +11 -3
  819. package/src/features/carConnection.ts +1 -1
  820. package/src/features/equalizer.ts +1 -1
  821. package/src/features/errors.ts +3 -3
  822. package/src/features/favorites.ts +14 -11
  823. package/src/features/gate.ts +16 -1
  824. package/src/features/hook-wiring.test.ts +302 -0
  825. package/src/features/metadata.ts +20 -3
  826. package/src/features/network.ts +1 -1
  827. package/src/features/nowPlaying.ts +1 -1
  828. package/src/features/output.ts +1 -1
  829. package/src/features/playback/controls.ts +4 -2
  830. package/src/features/playback/playWhenReady.ts +1 -1
  831. package/src/features/playback/playing.ts +1 -1
  832. package/src/features/playback/progress.test.ts +169 -0
  833. package/src/features/playback/progress.ts +3 -2
  834. package/src/features/playback/rate.ts +8 -1
  835. package/src/features/playback/state.ts +3 -4
  836. package/src/features/playback/trackPlaybackTime.test.ts +16 -6
  837. package/src/features/playback/trackPlaybackTime.ts +1 -6
  838. package/src/features/playback/volume.ts +1 -1
  839. package/src/features/player/options.ts +126 -76
  840. package/src/features/player/setup.test.ts +24 -7
  841. package/src/features/player/setup.ts +22 -10
  842. package/src/features/player/validateOptions.ts +21 -0
  843. package/src/features/queue/activeTrack.ts +15 -4
  844. package/src/features/queue/queue.ts +13 -6
  845. package/src/features/queue/repeatMode.ts +1 -1
  846. package/src/features/queue/shuffle.ts +1 -1
  847. package/src/features/remoteControls.ts +13 -92
  848. package/src/features/sleepTimer.test.ts +172 -0
  849. package/src/features/sleepTimer.ts +9 -1
  850. package/src/nitro-stub-drift.test.ts +277 -0
  851. package/src/public-surface.test.ts +147 -0
  852. package/src/specs/audio-browser.nitro.ts +5 -4
  853. package/src/style-resolution.test.ts +210 -0
  854. package/src/test-utils/reactNativeStub.ts +60 -0
  855. package/src/types/browser-native.ts +7 -3
  856. package/src/types/browser-nodes.ts +403 -134
  857. package/src/types/browser.ts +97 -63
  858. package/src/utils/LazyNativeEmitter.ts +28 -15
  859. package/src/utils/NativeUpdatedValue.ts +29 -13
  860. package/src/utils/getTrackIdentity.ts +20 -0
  861. package/src/utils/useDebug.test.ts +182 -0
  862. package/src/utils/useNativeUpdatedValue.test.ts +103 -0
  863. package/src/utils/useNativeValueRefreshedBy.ts +38 -0
  864. package/src/web/NativeAudioBrowser.playWhenReady.test.ts +232 -2
  865. package/src/web/NativeAudioBrowser.ts +240 -83
  866. package/src/web/TrackPlayer/LoadAttempt.ts +29 -0
  867. package/src/web/TrackPlayer/PlaybackStateMachine.test.ts +60 -13
  868. package/src/web/TrackPlayer/PlaybackStateMachine.ts +22 -6
  869. package/src/web/TrackPlayer/Player.dispatch.test.ts +5 -3
  870. package/src/web/TrackPlayer/Player.load.test.ts +137 -1
  871. package/src/web/TrackPlayer/Player.ts +284 -37
  872. package/src/web/TrackPlayer/PlayingStateFactory.test.ts +1 -1
  873. package/src/web/TrackPlayer/PlayingStateFactory.ts +1 -1
  874. package/src/web/TrackPlayer/QueueManager.test.ts +29 -0
  875. package/src/web/TrackPlayer/QueueManager.ts +14 -0
  876. package/src/web/TrackPlayer/QueuePlayer.ts +33 -14
  877. package/src/web/__tests__/lifecycle.test.ts +345 -0
  878. package/src/web/__tests__/lifecycleHarness.ts +351 -0
  879. package/src/web/__tests__/loadEdgeCases.test.ts +246 -0
  880. package/src/web/__tests__/loadSupersession.test.ts +175 -0
  881. package/src/web/__tests__/retry.test.ts +169 -0
  882. package/src/web/browser/BrowserManager.ts +209 -111
  883. package/src/web/browser/FavoriteManager.test.ts +84 -0
  884. package/src/web/browser/FavoriteManager.ts +28 -23
  885. package/src/web/browser/NavigationErrorManager.ts +3 -1
  886. package/src/web/browser/SearchManager.test.ts +75 -0
  887. package/src/web/browser/SearchManager.ts +25 -28
  888. package/src/web/browser/__tests__/artwork-resolution.test.ts +117 -0
  889. package/src/web/browser/__tests__/layer-resolver.test.ts +35 -0
  890. package/src/web/browser/__tests__/search-artwork.test.ts +46 -0
  891. package/src/web/browser/__tests__/search-navigation.test.ts +76 -0
  892. package/src/web/browser/assertBrowsePageShape.test.ts +1 -1
  893. package/src/web/browser/assertBrowsePageShape.ts +5 -3
  894. package/src/web/browser/classifyTrackNavigation.test.ts +10 -8
  895. package/src/web/browser/classifyTrackNavigation.ts +9 -9
  896. package/src/web/browser/parseSearchResponse.test.ts +8 -2
  897. package/src/web/browser/sections.test.ts +91 -0
  898. package/src/web/browser/sections.ts +72 -0
  899. package/src/web/http/RequestConfigBuilder.test.ts +241 -1
  900. package/src/web/http/RequestConfigBuilder.ts +140 -33
  901. package/src/web/http/followMediaRedirect.test.ts +289 -0
  902. package/src/web/http/followMediaRedirect.ts +253 -0
  903. package/src/web/player/NowPlayingManager.ts +4 -3
  904. package/src/web/util/BrowserPathHelper.test.ts +68 -0
  905. package/src/web/util/BrowserPathHelper.ts +70 -13
  906. package/website/guide/android-auto.md +114 -0
  907. package/website/guide/android-certificates.md +409 -0
  908. package/website/guide/artwork.md +255 -0
  909. package/website/guide/audio-output.md +135 -0
  910. package/website/guide/automotive.md +86 -0
  911. package/website/guide/basic-usage.md +151 -0
  912. package/website/guide/battery.md +115 -0
  913. package/website/guide/browser.md +587 -0
  914. package/website/guide/carplay.md +650 -0
  915. package/website/guide/configuration.md +173 -0
  916. package/website/guide/equalizer.md +231 -0
  917. package/website/guide/errors.md +310 -0
  918. package/website/guide/favorites.md +154 -0
  919. package/website/guide/gate.md +143 -0
  920. package/website/guide/getting-started.md +46 -0
  921. package/website/guide/hooks.md +238 -0
  922. package/website/guide/live-streams.md +125 -0
  923. package/website/guide/metadata.md +239 -0
  924. package/website/guide/migrating-from-track-player.md +244 -0
  925. package/website/guide/native-callback-fetch.md +127 -0
  926. package/website/guide/network.md +86 -0
  927. package/website/guide/now-playing.md +175 -0
  928. package/website/guide/playback.md +328 -0
  929. package/website/guide/queue.md +300 -0
  930. package/website/guide/remote-controls.md +256 -0
  931. package/website/guide/search.md +255 -0
  932. package/website/guide/sleep-timer.md +268 -0
  933. package/website/guide/track.md +247 -0
  934. package/ios/Bridge.h +0 -8
  935. package/ios/Browser/MediaResolveComposer.swift +0 -114
  936. package/ios/CarPlay/ImageRowItem+CarPlay.swift +0 -19
  937. package/ios/Model/MediaURL.swift +0 -67
  938. package/ios/NowPlayingInfo/MediaItemProperty.swift +0 -78
  939. package/ios/NowPlayingInfo/NowPlayingInfoKeyValue.swift +0 -6
  940. package/ios/NowPlayingInfo/NowPlayingInfoProperty.swift +0 -220
  941. package/ios/Observer/PlayerItemNotificationObserver.swift +0 -119
  942. package/ios/Observer/PlayerItemPropertyObserver.swift +0 -133
  943. package/ios/Observer/PlayerStateObserver.swift +0 -50
  944. package/ios/Observer/PlayerTimeObserver.swift +0 -55
  945. package/ios/Option/PitchAlgorithms.swift +0 -17
  946. package/ios/Option/TimeEventFrequency.swift +0 -18
  947. package/ios/Player/LoadSeekCoordinator.swift +0 -99
  948. package/ios/Player/MediaLoaderDelegate.swift +0 -11
  949. package/ios/Player/PlaybackCoordinator.swift +0 -754
  950. package/ios/Player/PlaybackEffectHandler.swift +0 -54
  951. package/ios/Player/PlaybackErrorHandler.swift +0 -175
  952. package/ios/Player/PlaybackStateStore.swift +0 -27
  953. package/ios/Player/PlayingStateManager.swift +0 -33
  954. package/ios/Player/RetryManager.swift +0 -322
  955. package/ios/Player/SeekCompletionHandler.swift +0 -3
  956. package/ios/Player/SleepTimerHandling.swift +0 -15
  957. package/ios/Support/RNTrackPlayer-Bridging-Header.h +0 -7
  958. package/ios/Tests/LoadSeekCoordinatorTests.swift +0 -325
  959. package/ios/Tests/MediaResolveTests.swift +0 -126
  960. package/ios/Tests/OnceValueTests.swift +0 -79
  961. package/ios/Tests/PlaybackErrorHandlerTests.swift +0 -547
  962. package/ios/Tests/PlaybackStateStoreTests.swift +0 -48
  963. package/ios/Tests/PlayingStateManagerTests.swift +0 -57
  964. package/ios/Tests/RetryManagerTests.swift +0 -89
  965. package/ios/TrackPlayer.swift +0 -1014
  966. package/ios/TrackPlayerCallbacks.swift +0 -86
  967. package/ios/Util/MetadataAdapter.swift +0 -131
  968. package/ios/Util/OnceValue.swift +0 -104
  969. package/nitrogen/generated/android/c++/JFavoriteConfig.hpp +0 -58
  970. package/nitrogen/generated/android/c++/JFavoritesMatchMode.hpp +0 -58
  971. package/nitrogen/generated/android/c++/JImageRowItem.hpp +0 -105
  972. package/nitrogen/generated/android/c++/JNotificationButtonLayout.hpp +0 -94
  973. package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.cpp +0 -26
  974. package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.hpp +0 -71
  975. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.cpp +0 -26
  976. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.hpp +0 -75
  977. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FavoriteConfig.kt +0 -38
  978. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +0 -68
  979. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButtonLayout.kt +0 -50
  980. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_FavoriteConfig.kt +0 -53
  981. package/nitrogen/generated/ios/swift/FavoriteConfig.swift +0 -29
  982. package/nitrogen/generated/ios/swift/FavoritesMatchMode.swift +0 -40
  983. package/nitrogen/generated/ios/swift/ImageRowItem.swift +0 -195
  984. package/nitrogen/generated/ios/swift/NotificationButtonLayout.swift +0 -92
  985. package/nitrogen/generated/ios/swift/Variant_Bool_FavoriteConfig.swift +0 -18
  986. package/nitrogen/generated/ios/swift/Variant_NullType_NotificationButtonLayout.swift +0 -18
  987. package/nitrogen/generated/shared/c++/FavoriteConfig.hpp +0 -84
  988. package/nitrogen/generated/shared/c++/ImageRowItem.hpp +0 -129
  989. package/nitrogen/generated/shared/c++/NotificationButtonLayout.hpp +0 -102
@@ -18,6 +18,8 @@ namespace margelo::nitro::audiobrowser { struct AndroidOptions; }
18
18
  namespace margelo::nitro::audiobrowser { enum class AndroidPlayerWakeMode; }
19
19
  // Forward declaration of `AppKilledPlaybackBehavior` to properly resolve imports.
20
20
  namespace margelo::nitro::audiobrowser { enum class AppKilledPlaybackBehavior; }
21
+ // Forward declaration of `ArtworkRendering` to properly resolve imports.
22
+ namespace margelo::nitro::audiobrowser { enum class ArtworkRendering; }
21
23
  // Forward declaration of `ArtworkRequestConfig` to properly resolve imports.
22
24
  namespace margelo::nitro::audiobrowser { struct ArtworkRequestConfig; }
23
25
  // Forward declaration of `ArtworkVariants` to properly resolve imports.
@@ -34,18 +36,18 @@ namespace margelo::nitro::audiobrowser { struct BrowseError; }
34
36
  namespace margelo::nitro::audiobrowser { struct BrowserSourceCallbackParam; }
35
37
  // Forward declaration of `CarPlayNowPlayingButton` to properly resolve imports.
36
38
  namespace margelo::nitro::audiobrowser { enum class CarPlayNowPlayingButton; }
39
+ // Forward declaration of `CarPlayPlayingIndicatorLocation` to properly resolve imports.
40
+ namespace margelo::nitro::audiobrowser { enum class CarPlayPlayingIndicatorLocation; }
37
41
  // Forward declaration of `CarPlaySiriListButtonPosition` to properly resolve imports.
38
42
  namespace margelo::nitro::audiobrowser { enum class CarPlaySiriListButtonPosition; }
43
+ // Forward declaration of `CardImage` to properly resolve imports.
44
+ namespace margelo::nitro::audiobrowser { enum class CardImage; }
39
45
  // Forward declaration of `ChapterMetadata` to properly resolve imports.
40
46
  namespace margelo::nitro::audiobrowser { struct ChapterMetadata; }
41
47
  // Forward declaration of `EqualizerSettings` to properly resolve imports.
42
48
  namespace margelo::nitro::audiobrowser { struct EqualizerSettings; }
43
49
  // Forward declaration of `FavoriteChangedEvent` to properly resolve imports.
44
50
  namespace margelo::nitro::audiobrowser { struct FavoriteChangedEvent; }
45
- // Forward declaration of `FavoriteConfig` to properly resolve imports.
46
- namespace margelo::nitro::audiobrowser { struct FavoriteConfig; }
47
- // Forward declaration of `FavoritesMatchMode` to properly resolve imports.
48
- namespace margelo::nitro::audiobrowser { enum class FavoritesMatchMode; }
49
51
  // Forward declaration of `FormatNavigationErrorParams` to properly resolve imports.
50
52
  namespace margelo::nitro::audiobrowser { struct FormatNavigationErrorParams; }
51
53
  // Forward declaration of `FormatNowPlayingParams` to properly resolve imports.
@@ -60,6 +62,8 @@ namespace margelo::nitro::audiobrowser { struct GateEvent; }
60
62
  namespace margelo::nitro::audiobrowser { enum class GateReason; }
61
63
  // Forward declaration of `Gate` to properly resolve imports.
62
64
  namespace margelo::nitro::audiobrowser { struct Gate; }
65
+ // Forward declaration of `GridTile` to properly resolve imports.
66
+ namespace margelo::nitro::audiobrowser { enum class GridTile; }
63
67
  // Forward declaration of `HttpMethod` to properly resolve imports.
64
68
  namespace margelo::nitro::audiobrowser { enum class HttpMethod; }
65
69
  // Forward declaration of `HybridAudioBrowserSpec` to properly resolve imports.
@@ -78,8 +82,8 @@ namespace margelo::nitro::audiobrowser { struct IOSOptions; }
78
82
  namespace margelo::nitro::audiobrowser { struct ImageContext; }
79
83
  // Forward declaration of `ImageQueryParams` to properly resolve imports.
80
84
  namespace margelo::nitro::audiobrowser { struct ImageQueryParams; }
81
- // Forward declaration of `ImageRowItem` to properly resolve imports.
82
- namespace margelo::nitro::audiobrowser { struct ImageRowItem; }
85
+ // Forward declaration of `ImageShape` to properly resolve imports.
86
+ namespace margelo::nitro::audiobrowser { enum class ImageShape; }
83
87
  // Forward declaration of `ImageSource` to properly resolve imports.
84
88
  namespace margelo::nitro::audiobrowser { struct ImageSource; }
85
89
  // Forward declaration of `MediaReference` to properly resolve imports.
@@ -100,6 +104,8 @@ namespace margelo::nitro::audiobrowser { struct NativeRouteEntry; }
100
104
  namespace margelo::nitro::audiobrowser { struct NativeUpdateOptions; }
101
105
  // Forward declaration of `NavigationErrorEvent` to properly resolve imports.
102
106
  namespace margelo::nitro::audiobrowser { struct NavigationErrorEvent; }
107
+ // Forward declaration of `NavigationErrorKind` to properly resolve imports.
108
+ namespace margelo::nitro::audiobrowser { enum class NavigationErrorKind; }
103
109
  // Forward declaration of `NavigationErrorType` to properly resolve imports.
104
110
  namespace margelo::nitro::audiobrowser { enum class NavigationErrorType; }
105
111
  // Forward declaration of `NavigationError` to properly resolve imports.
@@ -108,10 +114,6 @@ namespace margelo::nitro::audiobrowser { struct NavigationError; }
108
114
  namespace margelo::nitro::audiobrowser { struct NitroAndroidUpdateOptions; }
109
115
  // Forward declaration of `NitroIOSUpdateOptions` to properly resolve imports.
110
116
  namespace margelo::nitro::audiobrowser { struct NitroIOSUpdateOptions; }
111
- // Forward declaration of `NotificationButtonLayout` to properly resolve imports.
112
- namespace margelo::nitro::audiobrowser { struct NotificationButtonLayout; }
113
- // Forward declaration of `NotificationButton` to properly resolve imports.
114
- namespace margelo::nitro::audiobrowser { enum class NotificationButton; }
115
117
  // Forward declaration of `NowPlayingMetadata` to properly resolve imports.
116
118
  namespace margelo::nitro::audiobrowser { struct NowPlayingMetadata; }
117
119
  // Forward declaration of `NowPlayingUpdate` to properly resolve imports.
@@ -146,6 +148,10 @@ namespace margelo::nitro::audiobrowser { struct PlayerCapabilities; }
146
148
  namespace margelo::nitro::audiobrowser { struct PlayingState; }
147
149
  // Forward declaration of `Progress` to properly resolve imports.
148
150
  namespace margelo::nitro::audiobrowser { struct Progress; }
151
+ // Forward declaration of `RemoteButtonLayout` to properly resolve imports.
152
+ namespace margelo::nitro::audiobrowser { struct RemoteButtonLayout; }
153
+ // Forward declaration of `RemoteButton` to properly resolve imports.
154
+ namespace margelo::nitro::audiobrowser { enum class RemoteButton; }
149
155
  // Forward declaration of `RemoteJumpBackwardEvent` to properly resolve imports.
150
156
  namespace margelo::nitro::audiobrowser { struct RemoteJumpBackwardEvent; }
151
157
  // Forward declaration of `RemoteJumpForwardEvent` to properly resolve imports.
@@ -172,12 +178,18 @@ namespace margelo::nitro::audiobrowser { struct RetryConfig; }
172
178
  namespace margelo::nitro::audiobrowser { enum class SearchMode; }
173
179
  // Forward declaration of `SearchParams` to properly resolve imports.
174
180
  namespace margelo::nitro::audiobrowser { struct SearchParams; }
181
+ // Forward declaration of `SectionStyle` to properly resolve imports.
182
+ namespace margelo::nitro::audiobrowser { struct SectionStyle; }
183
+ // Forward declaration of `Section` to properly resolve imports.
184
+ namespace margelo::nitro::audiobrowser { struct Section; }
175
185
  // Forward declaration of `SleepTimerEndOfTrack` to properly resolve imports.
176
186
  namespace margelo::nitro::audiobrowser { struct SleepTimerEndOfTrack; }
177
187
  // Forward declaration of `SleepTimerTime` to properly resolve imports.
178
188
  namespace margelo::nitro::audiobrowser { struct SleepTimerTime; }
179
189
  // Forward declaration of `StallReason` to properly resolve imports.
180
190
  namespace margelo::nitro::audiobrowser { enum class StallReason; }
191
+ // Forward declaration of `StyleDisplay` to properly resolve imports.
192
+ namespace margelo::nitro::audiobrowser { enum class StyleDisplay; }
181
193
  // Forward declaration of `TimedMetadata` to properly resolve imports.
182
194
  namespace margelo::nitro::audiobrowser { struct TimedMetadata; }
183
195
  // Forward declaration of `TrackLoadEvent` to properly resolve imports.
@@ -187,7 +199,7 @@ namespace margelo::nitro::audiobrowser { struct TrackMetadata; }
187
199
  // Forward declaration of `TrackRequest` to properly resolve imports.
188
200
  namespace margelo::nitro::audiobrowser { struct TrackRequest; }
189
201
  // Forward declaration of `TrackStyle` to properly resolve imports.
190
- namespace margelo::nitro::audiobrowser { enum class TrackStyle; }
202
+ namespace margelo::nitro::audiobrowser { struct TrackStyle; }
191
203
  // Forward declaration of `Track` to properly resolve imports.
192
204
  namespace margelo::nitro::audiobrowser { struct Track; }
193
205
  // Forward declaration of `TransformableRequestConfig` to properly resolve imports.
@@ -203,6 +215,7 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
203
215
  #include "AndroidOptions.hpp"
204
216
  #include "AndroidPlayerWakeMode.hpp"
205
217
  #include "AppKilledPlaybackBehavior.hpp"
218
+ #include "ArtworkRendering.hpp"
206
219
  #include "ArtworkRequestConfig.hpp"
207
220
  #include "ArtworkVariants.hpp"
208
221
  #include "BatteryOptimizationStatus.hpp"
@@ -211,12 +224,12 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
211
224
  #include "BrowseError.hpp"
212
225
  #include "BrowserSourceCallbackParam.hpp"
213
226
  #include "CarPlayNowPlayingButton.hpp"
227
+ #include "CarPlayPlayingIndicatorLocation.hpp"
214
228
  #include "CarPlaySiriListButtonPosition.hpp"
229
+ #include "CardImage.hpp"
215
230
  #include "ChapterMetadata.hpp"
216
231
  #include "EqualizerSettings.hpp"
217
232
  #include "FavoriteChangedEvent.hpp"
218
- #include "FavoriteConfig.hpp"
219
- #include "FavoritesMatchMode.hpp"
220
233
  #include "FormatNavigationErrorParams.hpp"
221
234
  #include "FormatNowPlayingParams.hpp"
222
235
  #include "FormattedNavigationError.hpp"
@@ -224,6 +237,7 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
224
237
  #include "GateDecision.hpp"
225
238
  #include "GateEvent.hpp"
226
239
  #include "GateReason.hpp"
240
+ #include "GridTile.hpp"
227
241
  #include "HttpMethod.hpp"
228
242
  #include "HybridAudioBrowserSpec.hpp"
229
243
  #include "IOSCategory.hpp"
@@ -233,7 +247,7 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
233
247
  #include "IOSOptions.hpp"
234
248
  #include "ImageContext.hpp"
235
249
  #include "ImageQueryParams.hpp"
236
- #include "ImageRowItem.hpp"
250
+ #include "ImageShape.hpp"
237
251
  #include "ImageSource.hpp"
238
252
  #include "MediaReference.hpp"
239
253
  #include "MediaRequestConfig.hpp"
@@ -245,11 +259,10 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
245
259
  #include "NativeUpdateOptions.hpp"
246
260
  #include "NavigationError.hpp"
247
261
  #include "NavigationErrorEvent.hpp"
262
+ #include "NavigationErrorKind.hpp"
248
263
  #include "NavigationErrorType.hpp"
249
264
  #include "NitroAndroidUpdateOptions.hpp"
250
265
  #include "NitroIOSUpdateOptions.hpp"
251
- #include "NotificationButton.hpp"
252
- #include "NotificationButtonLayout.hpp"
253
266
  #include "NowPlayingMetadata.hpp"
254
267
  #include "NowPlayingUpdate.hpp"
255
268
  #include "Options.hpp"
@@ -267,6 +280,8 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
267
280
  #include "PlayerCapabilities.hpp"
268
281
  #include "PlayingState.hpp"
269
282
  #include "Progress.hpp"
283
+ #include "RemoteButton.hpp"
284
+ #include "RemoteButtonLayout.hpp"
270
285
  #include "RemoteJumpBackwardEvent.hpp"
271
286
  #include "RemoteJumpForwardEvent.hpp"
272
287
  #include "RemotePlayIdEvent.hpp"
@@ -280,9 +295,12 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
280
295
  #include "RetryConfig.hpp"
281
296
  #include "SearchMode.hpp"
282
297
  #include "SearchParams.hpp"
298
+ #include "Section.hpp"
299
+ #include "SectionStyle.hpp"
283
300
  #include "SleepTimerEndOfTrack.hpp"
284
301
  #include "SleepTimerTime.hpp"
285
302
  #include "StallReason.hpp"
303
+ #include "StyleDisplay.hpp"
286
304
  #include "TimedMetadata.hpp"
287
305
  #include "Track.hpp"
288
306
  #include "TrackLoadEvent.hpp"
@@ -324,21 +342,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
324
342
  return optional.value();
325
343
  }
326
344
 
327
- // pragma MARK: std::optional<std::variant<std::string, ArtworkVariants>>
328
- /**
329
- * Specialized version of `std::optional<std::variant<std::string, ArtworkVariants>>`.
330
- */
331
- using std__optional_std__variant_std__string__ArtworkVariants__ = std::optional<std::variant<std::string, ArtworkVariants>>;
332
- inline std::optional<std::variant<std::string, ArtworkVariants>> create_std__optional_std__variant_std__string__ArtworkVariants__(const std::variant<std::string, ArtworkVariants>& value) noexcept {
333
- return std::optional<std::variant<std::string, ArtworkVariants>>(value);
334
- }
335
- inline bool has_value_std__optional_std__variant_std__string__ArtworkVariants__(const std::optional<std::variant<std::string, ArtworkVariants>>& optional) noexcept {
336
- return optional.has_value();
337
- }
338
- inline std::variant<std::string, ArtworkVariants> get_std__optional_std__variant_std__string__ArtworkVariants__(const std::optional<std::variant<std::string, ArtworkVariants>>& optional) noexcept {
339
- return optional.value();
340
- }
341
-
342
345
  // pragma MARK: std::variant<std::string, ArtworkVariants>
343
346
  /**
344
347
  * Wrapper struct for `std::variant<std::string, ArtworkVariants>`.
@@ -368,18 +371,18 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
368
371
  return std__variant_std__string__ArtworkVariants_(value);
369
372
  }
370
373
 
371
- // pragma MARK: std::optional<ImageSource>
374
+ // pragma MARK: std::optional<std::variant<std::string, ArtworkVariants>>
372
375
  /**
373
- * Specialized version of `std::optional<ImageSource>`.
376
+ * Specialized version of `std::optional<std::variant<std::string, ArtworkVariants>>`.
374
377
  */
375
- using std__optional_ImageSource_ = std::optional<ImageSource>;
376
- inline std::optional<ImageSource> create_std__optional_ImageSource_(const ImageSource& value) noexcept {
377
- return std::optional<ImageSource>(value);
378
+ using std__optional_std__variant_std__string__ArtworkVariants__ = std::optional<std::variant<std::string, ArtworkVariants>>;
379
+ inline std::optional<std::variant<std::string, ArtworkVariants>> create_std__optional_std__variant_std__string__ArtworkVariants__(const std::variant<std::string, ArtworkVariants>& value) noexcept {
380
+ return std::optional<std::variant<std::string, ArtworkVariants>>(value);
378
381
  }
379
- inline bool has_value_std__optional_ImageSource_(const std::optional<ImageSource>& optional) noexcept {
382
+ inline bool has_value_std__optional_std__variant_std__string__ArtworkVariants__(const std::optional<std::variant<std::string, ArtworkVariants>>& optional) noexcept {
380
383
  return optional.has_value();
381
384
  }
382
- inline ImageSource get_std__optional_ImageSource_(const std::optional<ImageSource>& optional) noexcept {
385
+ inline std::variant<std::string, ArtworkVariants> get_std__optional_std__variant_std__string__ArtworkVariants__(const std::optional<std::variant<std::string, ArtworkVariants>>& optional) noexcept {
383
386
  return optional.value();
384
387
  }
385
388
 
@@ -398,21 +401,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
398
401
  return optional.value();
399
402
  }
400
403
 
401
- // pragma MARK: std::optional<std::unordered_map<std::string, std::string>>
402
- /**
403
- * Specialized version of `std::optional<std::unordered_map<std::string, std::string>>`.
404
- */
405
- using std__optional_std__unordered_map_std__string__std__string__ = std::optional<std::unordered_map<std::string, std::string>>;
406
- inline std::optional<std::unordered_map<std::string, std::string>> create_std__optional_std__unordered_map_std__string__std__string__(const std::unordered_map<std::string, std::string>& value) noexcept {
407
- return std::optional<std::unordered_map<std::string, std::string>>(value);
408
- }
409
- inline bool has_value_std__optional_std__unordered_map_std__string__std__string__(const std::optional<std::unordered_map<std::string, std::string>>& optional) noexcept {
410
- return optional.has_value();
411
- }
412
- inline std::unordered_map<std::string, std::string> get_std__optional_std__unordered_map_std__string__std__string__(const std::optional<std::unordered_map<std::string, std::string>>& optional) noexcept {
413
- return optional.value();
414
- }
415
-
416
404
  // pragma MARK: std::unordered_map<std::string, std::string>
417
405
  /**
418
406
  * Specialized version of `std::unordered_map<std::string, std::string>`.
@@ -438,33 +426,48 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
438
426
  map.emplace(key, value);
439
427
  }
440
428
 
441
- // pragma MARK: std::optional<TrackRequest>
429
+ // pragma MARK: std::optional<std::unordered_map<std::string, std::string>>
442
430
  /**
443
- * Specialized version of `std::optional<TrackRequest>`.
431
+ * Specialized version of `std::optional<std::unordered_map<std::string, std::string>>`.
444
432
  */
445
- using std__optional_TrackRequest_ = std::optional<TrackRequest>;
446
- inline std::optional<TrackRequest> create_std__optional_TrackRequest_(const TrackRequest& value) noexcept {
447
- return std::optional<TrackRequest>(value);
433
+ using std__optional_std__unordered_map_std__string__std__string__ = std::optional<std::unordered_map<std::string, std::string>>;
434
+ inline std::optional<std::unordered_map<std::string, std::string>> create_std__optional_std__unordered_map_std__string__std__string__(const std::unordered_map<std::string, std::string>& value) noexcept {
435
+ return std::optional<std::unordered_map<std::string, std::string>>(value);
448
436
  }
449
- inline bool has_value_std__optional_TrackRequest_(const std::optional<TrackRequest>& optional) noexcept {
437
+ inline bool has_value_std__optional_std__unordered_map_std__string__std__string__(const std::optional<std::unordered_map<std::string, std::string>>& optional) noexcept {
450
438
  return optional.has_value();
451
439
  }
452
- inline TrackRequest get_std__optional_TrackRequest_(const std::optional<TrackRequest>& optional) noexcept {
440
+ inline std::unordered_map<std::string, std::string> get_std__optional_std__unordered_map_std__string__std__string__(const std::optional<std::unordered_map<std::string, std::string>>& optional) noexcept {
453
441
  return optional.value();
454
442
  }
455
443
 
456
- // pragma MARK: std::optional<bool>
444
+ // pragma MARK: std::optional<ImageSource>
457
445
  /**
458
- * Specialized version of `std::optional<bool>`.
446
+ * Specialized version of `std::optional<ImageSource>`.
459
447
  */
460
- using std__optional_bool_ = std::optional<bool>;
461
- inline std::optional<bool> create_std__optional_bool_(const bool& value) noexcept {
462
- return std::optional<bool>(value);
448
+ using std__optional_ImageSource_ = std::optional<ImageSource>;
449
+ inline std::optional<ImageSource> create_std__optional_ImageSource_(const ImageSource& value) noexcept {
450
+ return std::optional<ImageSource>(value);
463
451
  }
464
- inline bool has_value_std__optional_bool_(const std::optional<bool>& optional) noexcept {
452
+ inline bool has_value_std__optional_ImageSource_(const std::optional<ImageSource>& optional) noexcept {
465
453
  return optional.has_value();
466
454
  }
467
- inline bool get_std__optional_bool_(const std::optional<bool>& optional) noexcept {
455
+ inline ImageSource get_std__optional_ImageSource_(const std::optional<ImageSource>& optional) noexcept {
456
+ return optional.value();
457
+ }
458
+
459
+ // pragma MARK: std::optional<TrackRequest>
460
+ /**
461
+ * Specialized version of `std::optional<TrackRequest>`.
462
+ */
463
+ using std__optional_TrackRequest_ = std::optional<TrackRequest>;
464
+ inline std::optional<TrackRequest> create_std__optional_TrackRequest_(const TrackRequest& value) noexcept {
465
+ return std::optional<TrackRequest>(value);
466
+ }
467
+ inline bool has_value_std__optional_TrackRequest_(const std::optional<TrackRequest>& optional) noexcept {
468
+ return optional.has_value();
469
+ }
470
+ inline TrackRequest get_std__optional_TrackRequest_(const std::optional<TrackRequest>& optional) noexcept {
468
471
  return optional.value();
469
472
  }
470
473
 
@@ -483,6 +486,66 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
483
486
  return optional.value();
484
487
  }
485
488
 
489
+ // pragma MARK: std::optional<StyleDisplay>
490
+ /**
491
+ * Specialized version of `std::optional<StyleDisplay>`.
492
+ */
493
+ using std__optional_StyleDisplay_ = std::optional<StyleDisplay>;
494
+ inline std::optional<StyleDisplay> create_std__optional_StyleDisplay_(const StyleDisplay& value) noexcept {
495
+ return std::optional<StyleDisplay>(value);
496
+ }
497
+ inline bool has_value_std__optional_StyleDisplay_(const std::optional<StyleDisplay>& optional) noexcept {
498
+ return optional.has_value();
499
+ }
500
+ inline StyleDisplay get_std__optional_StyleDisplay_(const std::optional<StyleDisplay>& optional) noexcept {
501
+ return optional.value();
502
+ }
503
+
504
+ // pragma MARK: std::optional<ArtworkRendering>
505
+ /**
506
+ * Specialized version of `std::optional<ArtworkRendering>`.
507
+ */
508
+ using std__optional_ArtworkRendering_ = std::optional<ArtworkRendering>;
509
+ inline std::optional<ArtworkRendering> create_std__optional_ArtworkRendering_(const ArtworkRendering& value) noexcept {
510
+ return std::optional<ArtworkRendering>(value);
511
+ }
512
+ inline bool has_value_std__optional_ArtworkRendering_(const std::optional<ArtworkRendering>& optional) noexcept {
513
+ return optional.has_value();
514
+ }
515
+ inline ArtworkRendering get_std__optional_ArtworkRendering_(const std::optional<ArtworkRendering>& optional) noexcept {
516
+ return optional.value();
517
+ }
518
+
519
+ // pragma MARK: std::optional<ImageShape>
520
+ /**
521
+ * Specialized version of `std::optional<ImageShape>`.
522
+ */
523
+ using std__optional_ImageShape_ = std::optional<ImageShape>;
524
+ inline std::optional<ImageShape> create_std__optional_ImageShape_(const ImageShape& value) noexcept {
525
+ return std::optional<ImageShape>(value);
526
+ }
527
+ inline bool has_value_std__optional_ImageShape_(const std::optional<ImageShape>& optional) noexcept {
528
+ return optional.has_value();
529
+ }
530
+ inline ImageShape get_std__optional_ImageShape_(const std::optional<ImageShape>& optional) noexcept {
531
+ return optional.value();
532
+ }
533
+
534
+ // pragma MARK: std::optional<CardImage>
535
+ /**
536
+ * Specialized version of `std::optional<CardImage>`.
537
+ */
538
+ using std__optional_CardImage_ = std::optional<CardImage>;
539
+ inline std::optional<CardImage> create_std__optional_CardImage_(const CardImage& value) noexcept {
540
+ return std::optional<CardImage>(value);
541
+ }
542
+ inline bool has_value_std__optional_CardImage_(const std::optional<CardImage>& optional) noexcept {
543
+ return optional.has_value();
544
+ }
545
+ inline CardImage get_std__optional_CardImage_(const std::optional<CardImage>& optional) noexcept {
546
+ return optional.value();
547
+ }
548
+
486
549
  // pragma MARK: std::optional<TrackStyle>
487
550
  /**
488
551
  * Specialized version of `std::optional<TrackStyle>`.
@@ -498,32 +561,21 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
498
561
  return optional.value();
499
562
  }
500
563
 
501
- // pragma MARK: std::optional<std::vector<ImageRowItem>>
564
+ // pragma MARK: std::optional<bool>
502
565
  /**
503
- * Specialized version of `std::optional<std::vector<ImageRowItem>>`.
566
+ * Specialized version of `std::optional<bool>`.
504
567
  */
505
- using std__optional_std__vector_ImageRowItem__ = std::optional<std::vector<ImageRowItem>>;
506
- inline std::optional<std::vector<ImageRowItem>> create_std__optional_std__vector_ImageRowItem__(const std::vector<ImageRowItem>& value) noexcept {
507
- return std::optional<std::vector<ImageRowItem>>(value);
568
+ using std__optional_bool_ = std::optional<bool>;
569
+ inline std::optional<bool> create_std__optional_bool_(const bool& value) noexcept {
570
+ return std::optional<bool>(value);
508
571
  }
509
- inline bool has_value_std__optional_std__vector_ImageRowItem__(const std::optional<std::vector<ImageRowItem>>& optional) noexcept {
572
+ inline bool has_value_std__optional_bool_(const std::optional<bool>& optional) noexcept {
510
573
  return optional.has_value();
511
574
  }
512
- inline std::vector<ImageRowItem> get_std__optional_std__vector_ImageRowItem__(const std::optional<std::vector<ImageRowItem>>& optional) noexcept {
575
+ inline bool get_std__optional_bool_(const std::optional<bool>& optional) noexcept {
513
576
  return optional.value();
514
577
  }
515
578
 
516
- // pragma MARK: std::vector<ImageRowItem>
517
- /**
518
- * Specialized version of `std::vector<ImageRowItem>`.
519
- */
520
- using std__vector_ImageRowItem_ = std::vector<ImageRowItem>;
521
- inline std::vector<ImageRowItem> create_std__vector_ImageRowItem_(size_t size) noexcept {
522
- std::vector<ImageRowItem> vector;
523
- vector.reserve(size);
524
- return vector;
525
- }
526
-
527
579
  // pragma MARK: std::vector<Track>
528
580
  /**
529
581
  * Specialized version of `std::vector<Track>`.
@@ -606,6 +658,62 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
606
658
  return Func_void_std__exception_ptr_Wrapper(std::move(value));
607
659
  }
608
660
 
661
+ // pragma MARK: std::optional<GridTile>
662
+ /**
663
+ * Specialized version of `std::optional<GridTile>`.
664
+ */
665
+ using std__optional_GridTile_ = std::optional<GridTile>;
666
+ inline std::optional<GridTile> create_std__optional_GridTile_(const GridTile& value) noexcept {
667
+ return std::optional<GridTile>(value);
668
+ }
669
+ inline bool has_value_std__optional_GridTile_(const std::optional<GridTile>& optional) noexcept {
670
+ return optional.has_value();
671
+ }
672
+ inline GridTile get_std__optional_GridTile_(const std::optional<GridTile>& optional) noexcept {
673
+ return optional.value();
674
+ }
675
+
676
+ // pragma MARK: std::optional<SectionStyle>
677
+ /**
678
+ * Specialized version of `std::optional<SectionStyle>`.
679
+ */
680
+ using std__optional_SectionStyle_ = std::optional<SectionStyle>;
681
+ inline std::optional<SectionStyle> create_std__optional_SectionStyle_(const SectionStyle& value) noexcept {
682
+ return std::optional<SectionStyle>(value);
683
+ }
684
+ inline bool has_value_std__optional_SectionStyle_(const std::optional<SectionStyle>& optional) noexcept {
685
+ return optional.has_value();
686
+ }
687
+ inline SectionStyle get_std__optional_SectionStyle_(const std::optional<SectionStyle>& optional) noexcept {
688
+ return optional.value();
689
+ }
690
+
691
+ // pragma MARK: std::vector<Section>
692
+ /**
693
+ * Specialized version of `std::vector<Section>`.
694
+ */
695
+ using std__vector_Section_ = std::vector<Section>;
696
+ inline std::vector<Section> create_std__vector_Section_(size_t size) noexcept {
697
+ std::vector<Section> vector;
698
+ vector.reserve(size);
699
+ return vector;
700
+ }
701
+
702
+ // pragma MARK: std::optional<std::vector<Section>>
703
+ /**
704
+ * Specialized version of `std::optional<std::vector<Section>>`.
705
+ */
706
+ using std__optional_std__vector_Section__ = std::optional<std::vector<Section>>;
707
+ inline std::optional<std::vector<Section>> create_std__optional_std__vector_Section__(const std::vector<Section>& value) noexcept {
708
+ return std::optional<std::vector<Section>>(value);
709
+ }
710
+ inline bool has_value_std__optional_std__vector_Section__(const std::optional<std::vector<Section>>& optional) noexcept {
711
+ return optional.has_value();
712
+ }
713
+ inline std::vector<Section> get_std__optional_std__vector_Section__(const std::optional<std::vector<Section>>& optional) noexcept {
714
+ return optional.value();
715
+ }
716
+
609
717
  // pragma MARK: std::optional<CarPlaySiriListButtonPosition>
610
718
  /**
611
719
  * Specialized version of `std::optional<CarPlaySiriListButtonPosition>`.
@@ -765,34 +873,38 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
765
873
  return vector;
766
874
  }
767
875
 
768
- // pragma MARK: std::optional<TransformableRequestConfig>
876
+ // pragma MARK: std::shared_ptr<Promise<RequestConfig>>
769
877
  /**
770
- * Specialized version of `std::optional<TransformableRequestConfig>`.
878
+ * Specialized version of `std::shared_ptr<Promise<RequestConfig>>`.
771
879
  */
772
- using std__optional_TransformableRequestConfig_ = std::optional<TransformableRequestConfig>;
773
- inline std::optional<TransformableRequestConfig> create_std__optional_TransformableRequestConfig_(const TransformableRequestConfig& value) noexcept {
774
- return std::optional<TransformableRequestConfig>(value);
775
- }
776
- inline bool has_value_std__optional_TransformableRequestConfig_(const std::optional<TransformableRequestConfig>& optional) noexcept {
777
- return optional.has_value();
880
+ using std__shared_ptr_Promise_RequestConfig__ = std::shared_ptr<Promise<RequestConfig>>;
881
+ inline std::shared_ptr<Promise<RequestConfig>> create_std__shared_ptr_Promise_RequestConfig__() noexcept {
882
+ return Promise<RequestConfig>::create();
778
883
  }
779
- inline TransformableRequestConfig get_std__optional_TransformableRequestConfig_(const std::optional<TransformableRequestConfig>& optional) noexcept {
780
- return optional.value();
884
+ inline PromiseHolder<RequestConfig> wrap_std__shared_ptr_Promise_RequestConfig__(std::shared_ptr<Promise<RequestConfig>> promise) noexcept {
885
+ return PromiseHolder<RequestConfig>(std::move(promise));
781
886
  }
782
887
 
783
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>
888
+ // pragma MARK: std::function<void(const RequestConfig& /* result */)>
784
889
  /**
785
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& / * request * /, const std::optional<std::unordered_map<std::string, std::string>>& / * routeParams * /)>>`.
890
+ * Specialized version of `std::function<void(const RequestConfig&)>`.
786
891
  */
787
- using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_RequestConfig_____request_____const_std__optional_std__unordered_map_std__string__std__string_______routeParams______ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>;
788
- inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_RequestConfig_____request_____const_std__optional_std__unordered_map_std__string__std__string_______routeParams______(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>& value) noexcept {
789
- return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>(value);
790
- }
791
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_RequestConfig_____request_____const_std__optional_std__unordered_map_std__string__std__string_______routeParams______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>& optional) noexcept {
792
- return optional.has_value();
793
- }
794
- inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_RequestConfig_____request_____const_std__optional_std__unordered_map_std__string__std__string_______routeParams______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>& optional) noexcept {
795
- return optional.value();
892
+ using Func_void_RequestConfig = std::function<void(const RequestConfig& /* result */)>;
893
+ /**
894
+ * Wrapper class for a `std::function<void(const RequestConfig& / * result * /)>`, this can be used from Swift.
895
+ */
896
+ class Func_void_RequestConfig_Wrapper final {
897
+ public:
898
+ explicit Func_void_RequestConfig_Wrapper(std::function<void(const RequestConfig& /* result */)>&& func): _function(std::make_unique<std::function<void(const RequestConfig& /* result */)>>(std::move(func))) {}
899
+ inline void call(RequestConfig result) const noexcept {
900
+ _function->operator()(result);
901
+ }
902
+ private:
903
+ std::unique_ptr<std::function<void(const RequestConfig& /* result */)>> _function;
904
+ } SWIFT_NONCOPYABLE;
905
+ Func_void_RequestConfig create_Func_void_RequestConfig(void* NON_NULL swiftClosureWrapper) noexcept;
906
+ inline Func_void_RequestConfig_Wrapper wrap_Func_void_RequestConfig(Func_void_RequestConfig value) noexcept {
907
+ return Func_void_RequestConfig_Wrapper(std::move(value));
796
908
  }
797
909
 
798
910
  // pragma MARK: std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>
@@ -852,38 +964,42 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
852
964
  return Func_void_std__shared_ptr_Promise_RequestConfig___Wrapper(std::move(value));
853
965
  }
854
966
 
855
- // pragma MARK: std::shared_ptr<Promise<RequestConfig>>
967
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>
856
968
  /**
857
- * Specialized version of `std::shared_ptr<Promise<RequestConfig>>`.
969
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& / * request * /, const std::optional<std::unordered_map<std::string, std::string>>& / * routeParams * /)>>`.
858
970
  */
859
- using std__shared_ptr_Promise_RequestConfig__ = std::shared_ptr<Promise<RequestConfig>>;
860
- inline std::shared_ptr<Promise<RequestConfig>> create_std__shared_ptr_Promise_RequestConfig__() noexcept {
861
- return Promise<RequestConfig>::create();
971
+ using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_RequestConfig_____request_____const_std__optional_std__unordered_map_std__string__std__string_______routeParams______ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>;
972
+ inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_RequestConfig_____request_____const_std__optional_std__unordered_map_std__string__std__string_______routeParams______(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>& value) noexcept {
973
+ return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>(value);
862
974
  }
863
- inline PromiseHolder<RequestConfig> wrap_std__shared_ptr_Promise_RequestConfig__(std::shared_ptr<Promise<RequestConfig>> promise) noexcept {
864
- return PromiseHolder<RequestConfig>(std::move(promise));
975
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_RequestConfig_____request_____const_std__optional_std__unordered_map_std__string__std__string_______routeParams______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>& optional) noexcept {
976
+ return optional.has_value();
977
+ }
978
+ inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_RequestConfig_____request_____const_std__optional_std__unordered_map_std__string__std__string_______routeParams______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>& optional) noexcept {
979
+ return optional.value();
865
980
  }
866
981
 
867
- // pragma MARK: std::function<void(const RequestConfig& /* result */)>
982
+ // pragma MARK: std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>
868
983
  /**
869
- * Specialized version of `std::function<void(const RequestConfig&)>`.
984
+ * Specialized version of `std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig&, const std::optional<std::unordered_map<std::string, std::string>>&)>`.
870
985
  */
871
- using Func_void_RequestConfig = std::function<void(const RequestConfig& /* result */)>;
986
+ using Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__ = std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>;
872
987
  /**
873
- * Wrapper class for a `std::function<void(const RequestConfig& / * result * /)>`, this can be used from Swift.
988
+ * Wrapper class for a `std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& / * request * /, const std::optional<std::unordered_map<std::string, std::string>>& / * routeParams * /)>`, this can be used from Swift.
874
989
  */
875
- class Func_void_RequestConfig_Wrapper final {
990
+ class Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string___Wrapper final {
876
991
  public:
877
- explicit Func_void_RequestConfig_Wrapper(std::function<void(const RequestConfig& /* result */)>&& func): _function(std::make_unique<std::function<void(const RequestConfig& /* result */)>>(std::move(func))) {}
878
- inline void call(RequestConfig result) const noexcept {
879
- _function->operator()(result);
992
+ explicit Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string___Wrapper(std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>(std::move(func))) {}
993
+ inline std::shared_ptr<Promise<RequestConfig>> call(RequestConfig request, std::optional<std::unordered_map<std::string, std::string>> routeParams) const noexcept {
994
+ auto __result = _function->operator()(request, routeParams);
995
+ return __result;
880
996
  }
881
997
  private:
882
- std::unique_ptr<std::function<void(const RequestConfig& /* result */)>> _function;
998
+ std::unique_ptr<std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>> _function;
883
999
  } SWIFT_NONCOPYABLE;
884
- Func_void_RequestConfig create_Func_void_RequestConfig(void* NON_NULL swiftClosureWrapper) noexcept;
885
- inline Func_void_RequestConfig_Wrapper wrap_Func_void_RequestConfig(Func_void_RequestConfig value) noexcept {
886
- return Func_void_RequestConfig_Wrapper(std::move(value));
1000
+ Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__ create_Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__(void* NON_NULL swiftClosureWrapper) noexcept;
1001
+ inline Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string___Wrapper wrap_Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__(Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__ value) noexcept {
1002
+ return Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string___Wrapper(std::move(value));
887
1003
  }
888
1004
 
889
1005
  // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>
@@ -901,42 +1017,53 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
901
1017
  return optional.value();
902
1018
  }
903
1019
 
904
- // pragma MARK: std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>
1020
+ // pragma MARK: std::optional<TransformableRequestConfig>
905
1021
  /**
906
- * Specialized version of `std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig&, const std::optional<std::unordered_map<std::string, std::string>>&)>`.
1022
+ * Specialized version of `std::optional<TransformableRequestConfig>`.
907
1023
  */
908
- using Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__ = std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>;
909
- /**
910
- * Wrapper class for a `std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& / * request * /, const std::optional<std::unordered_map<std::string, std::string>>& / * routeParams * /)>`, this can be used from Swift.
911
- */
912
- class Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string___Wrapper final {
913
- public:
914
- explicit Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string___Wrapper(std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>(std::move(func))) {}
915
- inline std::shared_ptr<Promise<RequestConfig>> call(RequestConfig request, std::optional<std::unordered_map<std::string, std::string>> routeParams) const noexcept {
916
- auto __result = _function->operator()(request, routeParams);
917
- return __result;
918
- }
919
- private:
920
- std::unique_ptr<std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>> _function;
921
- } SWIFT_NONCOPYABLE;
922
- Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__ create_Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__(void* NON_NULL swiftClosureWrapper) noexcept;
923
- inline Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string___Wrapper wrap_Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__(Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__ value) noexcept {
924
- return Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string___Wrapper(std::move(value));
1024
+ using std__optional_TransformableRequestConfig_ = std::optional<TransformableRequestConfig>;
1025
+ inline std::optional<TransformableRequestConfig> create_std__optional_TransformableRequestConfig_(const TransformableRequestConfig& value) noexcept {
1026
+ return std::optional<TransformableRequestConfig>(value);
1027
+ }
1028
+ inline bool has_value_std__optional_TransformableRequestConfig_(const std::optional<TransformableRequestConfig>& optional) noexcept {
1029
+ return optional.has_value();
1030
+ }
1031
+ inline TransformableRequestConfig get_std__optional_TransformableRequestConfig_(const std::optional<TransformableRequestConfig>& optional) noexcept {
1032
+ return optional.value();
925
1033
  }
926
1034
 
927
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>
1035
+ // pragma MARK: std::shared_ptr<Promise<TransformableRequestConfig>>
928
1036
  /**
929
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>`.
1037
+ * Specialized version of `std::shared_ptr<Promise<TransformableRequestConfig>>`.
930
1038
  */
931
- using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig________ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>;
932
- inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig________(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>& value) noexcept {
933
- return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>(value);
1039
+ using std__shared_ptr_Promise_TransformableRequestConfig__ = std::shared_ptr<Promise<TransformableRequestConfig>>;
1040
+ inline std::shared_ptr<Promise<TransformableRequestConfig>> create_std__shared_ptr_Promise_TransformableRequestConfig__() noexcept {
1041
+ return Promise<TransformableRequestConfig>::create();
934
1042
  }
935
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig________(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>& optional) noexcept {
936
- return optional.has_value();
1043
+ inline PromiseHolder<TransformableRequestConfig> wrap_std__shared_ptr_Promise_TransformableRequestConfig__(std::shared_ptr<Promise<TransformableRequestConfig>> promise) noexcept {
1044
+ return PromiseHolder<TransformableRequestConfig>(std::move(promise));
937
1045
  }
938
- inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig________(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>& optional) noexcept {
939
- return optional.value();
1046
+
1047
+ // pragma MARK: std::function<void(const TransformableRequestConfig& /* result */)>
1048
+ /**
1049
+ * Specialized version of `std::function<void(const TransformableRequestConfig&)>`.
1050
+ */
1051
+ using Func_void_TransformableRequestConfig = std::function<void(const TransformableRequestConfig& /* result */)>;
1052
+ /**
1053
+ * Wrapper class for a `std::function<void(const TransformableRequestConfig& / * result * /)>`, this can be used from Swift.
1054
+ */
1055
+ class Func_void_TransformableRequestConfig_Wrapper final {
1056
+ public:
1057
+ explicit Func_void_TransformableRequestConfig_Wrapper(std::function<void(const TransformableRequestConfig& /* result */)>&& func): _function(std::make_unique<std::function<void(const TransformableRequestConfig& /* result */)>>(std::move(func))) {}
1058
+ inline void call(TransformableRequestConfig result) const noexcept {
1059
+ _function->operator()(result);
1060
+ }
1061
+ private:
1062
+ std::unique_ptr<std::function<void(const TransformableRequestConfig& /* result */)>> _function;
1063
+ } SWIFT_NONCOPYABLE;
1064
+ Func_void_TransformableRequestConfig create_Func_void_TransformableRequestConfig(void* NON_NULL swiftClosureWrapper) noexcept;
1065
+ inline Func_void_TransformableRequestConfig_Wrapper wrap_Func_void_TransformableRequestConfig(Func_void_TransformableRequestConfig value) noexcept {
1066
+ return Func_void_TransformableRequestConfig_Wrapper(std::move(value));
940
1067
  }
941
1068
 
942
1069
  // pragma MARK: std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>
@@ -996,67 +1123,18 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
996
1123
  return Func_void_std__shared_ptr_Promise_TransformableRequestConfig___Wrapper(std::move(value));
997
1124
  }
998
1125
 
999
- // pragma MARK: std::shared_ptr<Promise<TransformableRequestConfig>>
1000
- /**
1001
- * Specialized version of `std::shared_ptr<Promise<TransformableRequestConfig>>`.
1002
- */
1003
- using std__shared_ptr_Promise_TransformableRequestConfig__ = std::shared_ptr<Promise<TransformableRequestConfig>>;
1004
- inline std::shared_ptr<Promise<TransformableRequestConfig>> create_std__shared_ptr_Promise_TransformableRequestConfig__() noexcept {
1005
- return Promise<TransformableRequestConfig>::create();
1006
- }
1007
- inline PromiseHolder<TransformableRequestConfig> wrap_std__shared_ptr_Promise_TransformableRequestConfig__(std::shared_ptr<Promise<TransformableRequestConfig>> promise) noexcept {
1008
- return PromiseHolder<TransformableRequestConfig>(std::move(promise));
1009
- }
1010
-
1011
- // pragma MARK: std::function<void(const TransformableRequestConfig& /* result */)>
1012
- /**
1013
- * Specialized version of `std::function<void(const TransformableRequestConfig&)>`.
1014
- */
1015
- using Func_void_TransformableRequestConfig = std::function<void(const TransformableRequestConfig& /* result */)>;
1016
- /**
1017
- * Wrapper class for a `std::function<void(const TransformableRequestConfig& / * result * /)>`, this can be used from Swift.
1018
- */
1019
- class Func_void_TransformableRequestConfig_Wrapper final {
1020
- public:
1021
- explicit Func_void_TransformableRequestConfig_Wrapper(std::function<void(const TransformableRequestConfig& /* result */)>&& func): _function(std::make_unique<std::function<void(const TransformableRequestConfig& /* result */)>>(std::move(func))) {}
1022
- inline void call(TransformableRequestConfig result) const noexcept {
1023
- _function->operator()(result);
1024
- }
1025
- private:
1026
- std::unique_ptr<std::function<void(const TransformableRequestConfig& /* result */)>> _function;
1027
- } SWIFT_NONCOPYABLE;
1028
- Func_void_TransformableRequestConfig create_Func_void_TransformableRequestConfig(void* NON_NULL swiftClosureWrapper) noexcept;
1029
- inline Func_void_TransformableRequestConfig_Wrapper wrap_Func_void_TransformableRequestConfig(Func_void_TransformableRequestConfig value) noexcept {
1030
- return Func_void_TransformableRequestConfig_Wrapper(std::move(value));
1031
- }
1032
-
1033
- // pragma MARK: std::optional<MediaRequestConfig>
1034
- /**
1035
- * Specialized version of `std::optional<MediaRequestConfig>`.
1036
- */
1037
- using std__optional_MediaRequestConfig_ = std::optional<MediaRequestConfig>;
1038
- inline std::optional<MediaRequestConfig> create_std__optional_MediaRequestConfig_(const MediaRequestConfig& value) noexcept {
1039
- return std::optional<MediaRequestConfig>(value);
1040
- }
1041
- inline bool has_value_std__optional_MediaRequestConfig_(const std::optional<MediaRequestConfig>& optional) noexcept {
1042
- return optional.has_value();
1043
- }
1044
- inline MediaRequestConfig get_std__optional_MediaRequestConfig_(const std::optional<MediaRequestConfig>& optional) noexcept {
1045
- return optional.value();
1046
- }
1047
-
1048
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>>
1126
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>
1049
1127
  /**
1050
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& / * track * /)>>`.
1128
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>`.
1051
1129
  */
1052
- using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_Track_____track______ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>>;
1053
- inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_Track_____track______(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>& value) noexcept {
1054
- return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>>(value);
1130
+ using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig________ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>;
1131
+ inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig________(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>& value) noexcept {
1132
+ return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>(value);
1055
1133
  }
1056
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_Track_____track______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>>& optional) noexcept {
1134
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig________(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>& optional) noexcept {
1057
1135
  return optional.has_value();
1058
1136
  }
1059
- inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_Track_____track______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>>& optional) noexcept {
1137
+ inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig________(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>& optional) noexcept {
1060
1138
  return optional.value();
1061
1139
  }
1062
1140
 
@@ -1083,18 +1161,18 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1083
1161
  return Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track_Wrapper(std::move(value));
1084
1162
  }
1085
1163
 
1086
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>>
1164
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>>
1087
1165
  /**
1088
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& / * track * /)>>`.
1166
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& / * track * /)>>`.
1089
1167
  */
1090
- using std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_Track_____track______ = std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>>;
1091
- inline std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>> create_std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_Track_____track______(const std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>& value) noexcept {
1092
- return std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>>(value);
1168
+ using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_Track_____track______ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>>;
1169
+ inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_Track_____track______(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>& value) noexcept {
1170
+ return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>>(value);
1093
1171
  }
1094
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_Track_____track______(const std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>>& optional) noexcept {
1172
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_Track_____track______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>>& optional) noexcept {
1095
1173
  return optional.has_value();
1096
1174
  }
1097
- inline std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)> get_std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_Track_____track______(const std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>>& optional) noexcept {
1175
+ inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_Track_____track______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const Track& /* track */)>>& optional) noexcept {
1098
1176
  return optional.value();
1099
1177
  }
1100
1178
 
@@ -1121,33 +1199,48 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1121
1199
  return Func_std__shared_ptr_Promise_RequestConfig___Track_Wrapper(std::move(value));
1122
1200
  }
1123
1201
 
1124
- // pragma MARK: std::optional<ArtworkRequestConfig>
1202
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>>
1125
1203
  /**
1126
- * Specialized version of `std::optional<ArtworkRequestConfig>`.
1204
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& / * track * /)>>`.
1127
1205
  */
1128
- using std__optional_ArtworkRequestConfig_ = std::optional<ArtworkRequestConfig>;
1129
- inline std::optional<ArtworkRequestConfig> create_std__optional_ArtworkRequestConfig_(const ArtworkRequestConfig& value) noexcept {
1130
- return std::optional<ArtworkRequestConfig>(value);
1206
+ using std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_Track_____track______ = std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>>;
1207
+ inline std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>> create_std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_Track_____track______(const std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>& value) noexcept {
1208
+ return std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>>(value);
1131
1209
  }
1132
- inline bool has_value_std__optional_ArtworkRequestConfig_(const std::optional<ArtworkRequestConfig>& optional) noexcept {
1210
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_Track_____track______(const std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>>& optional) noexcept {
1133
1211
  return optional.has_value();
1134
1212
  }
1135
- inline ArtworkRequestConfig get_std__optional_ArtworkRequestConfig_(const std::optional<ArtworkRequestConfig>& optional) noexcept {
1213
+ inline std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)> get_std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_Track_____track______(const std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>>& optional) noexcept {
1136
1214
  return optional.value();
1137
1215
  }
1138
1216
 
1139
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>>
1217
+ // pragma MARK: std::optional<MediaRequestConfig>
1140
1218
  /**
1141
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& / * params * /)>>`.
1219
+ * Specialized version of `std::optional<MediaRequestConfig>`.
1142
1220
  */
1143
- using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_MediaTransformParams_____params______ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>>;
1144
- inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_MediaTransformParams_____params______(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>& value) noexcept {
1145
- return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>>(value);
1221
+ using std__optional_MediaRequestConfig_ = std::optional<MediaRequestConfig>;
1222
+ inline std::optional<MediaRequestConfig> create_std__optional_MediaRequestConfig_(const MediaRequestConfig& value) noexcept {
1223
+ return std::optional<MediaRequestConfig>(value);
1146
1224
  }
1147
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_MediaTransformParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>>& optional) noexcept {
1225
+ inline bool has_value_std__optional_MediaRequestConfig_(const std::optional<MediaRequestConfig>& optional) noexcept {
1148
1226
  return optional.has_value();
1149
1227
  }
1150
- inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_MediaTransformParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>>& optional) noexcept {
1228
+ inline MediaRequestConfig get_std__optional_MediaRequestConfig_(const std::optional<MediaRequestConfig>& optional) noexcept {
1229
+ return optional.value();
1230
+ }
1231
+
1232
+ // pragma MARK: std::optional<ImageContext>
1233
+ /**
1234
+ * Specialized version of `std::optional<ImageContext>`.
1235
+ */
1236
+ using std__optional_ImageContext_ = std::optional<ImageContext>;
1237
+ inline std::optional<ImageContext> create_std__optional_ImageContext_(const ImageContext& value) noexcept {
1238
+ return std::optional<ImageContext>(value);
1239
+ }
1240
+ inline bool has_value_std__optional_ImageContext_(const std::optional<ImageContext>& optional) noexcept {
1241
+ return optional.has_value();
1242
+ }
1243
+ inline ImageContext get_std__optional_ImageContext_(const std::optional<ImageContext>& optional) noexcept {
1151
1244
  return optional.value();
1152
1245
  }
1153
1246
 
@@ -1174,33 +1267,18 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1174
1267
  return Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____MediaTransformParams_Wrapper(std::move(value));
1175
1268
  }
1176
1269
 
1177
- // pragma MARK: std::optional<ImageContext>
1178
- /**
1179
- * Specialized version of `std::optional<ImageContext>`.
1180
- */
1181
- using std__optional_ImageContext_ = std::optional<ImageContext>;
1182
- inline std::optional<ImageContext> create_std__optional_ImageContext_(const ImageContext& value) noexcept {
1183
- return std::optional<ImageContext>(value);
1184
- }
1185
- inline bool has_value_std__optional_ImageContext_(const std::optional<ImageContext>& optional) noexcept {
1186
- return optional.has_value();
1187
- }
1188
- inline ImageContext get_std__optional_ImageContext_(const std::optional<ImageContext>& optional) noexcept {
1189
- return optional.value();
1190
- }
1191
-
1192
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>>
1270
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>>
1193
1271
  /**
1194
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& / * params * /)>>`.
1272
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& / * params * /)>>`.
1195
1273
  */
1196
- using std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_MediaTransformParams_____params______ = std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>>;
1197
- inline std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>> create_std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_MediaTransformParams_____params______(const std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>& value) noexcept {
1198
- return std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>>(value);
1274
+ using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_MediaTransformParams_____params______ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>>;
1275
+ inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_MediaTransformParams_____params______(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>& value) noexcept {
1276
+ return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>>(value);
1199
1277
  }
1200
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_MediaTransformParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>>& optional) noexcept {
1278
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_MediaTransformParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>>& optional) noexcept {
1201
1279
  return optional.has_value();
1202
1280
  }
1203
- inline std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)> get_std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_MediaTransformParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>>& optional) noexcept {
1281
+ inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____const_MediaTransformParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<RequestConfig>>>>(const MediaTransformParams& /* params */)>>& optional) noexcept {
1204
1282
  return optional.value();
1205
1283
  }
1206
1284
 
@@ -1227,117 +1305,112 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1227
1305
  return Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams_Wrapper(std::move(value));
1228
1306
  }
1229
1307
 
1230
- // pragma MARK: std::optional<ImageQueryParams>
1308
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>>
1231
1309
  /**
1232
- * Specialized version of `std::optional<ImageQueryParams>`.
1310
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& / * params * /)>>`.
1233
1311
  */
1234
- using std__optional_ImageQueryParams_ = std::optional<ImageQueryParams>;
1235
- inline std::optional<ImageQueryParams> create_std__optional_ImageQueryParams_(const ImageQueryParams& value) noexcept {
1236
- return std::optional<ImageQueryParams>(value);
1312
+ using std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_MediaTransformParams_____params______ = std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>>;
1313
+ inline std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>> create_std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_MediaTransformParams_____params______(const std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>& value) noexcept {
1314
+ return std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>>(value);
1237
1315
  }
1238
- inline bool has_value_std__optional_ImageQueryParams_(const std::optional<ImageQueryParams>& optional) noexcept {
1316
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_MediaTransformParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>>& optional) noexcept {
1239
1317
  return optional.has_value();
1240
1318
  }
1241
- inline ImageQueryParams get_std__optional_ImageQueryParams_(const std::optional<ImageQueryParams>& optional) noexcept {
1319
+ inline std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)> get_std__optional_std__function_std__shared_ptr_Promise_RequestConfig___const_MediaTransformParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>>& optional) noexcept {
1242
1320
  return optional.value();
1243
1321
  }
1244
1322
 
1245
- // pragma MARK: std::optional<std::vector<NativeRouteEntry>>
1323
+ // pragma MARK: std::optional<ImageQueryParams>
1246
1324
  /**
1247
- * Specialized version of `std::optional<std::vector<NativeRouteEntry>>`.
1325
+ * Specialized version of `std::optional<ImageQueryParams>`.
1248
1326
  */
1249
- using std__optional_std__vector_NativeRouteEntry__ = std::optional<std::vector<NativeRouteEntry>>;
1250
- inline std::optional<std::vector<NativeRouteEntry>> create_std__optional_std__vector_NativeRouteEntry__(const std::vector<NativeRouteEntry>& value) noexcept {
1251
- return std::optional<std::vector<NativeRouteEntry>>(value);
1327
+ using std__optional_ImageQueryParams_ = std::optional<ImageQueryParams>;
1328
+ inline std::optional<ImageQueryParams> create_std__optional_ImageQueryParams_(const ImageQueryParams& value) noexcept {
1329
+ return std::optional<ImageQueryParams>(value);
1252
1330
  }
1253
- inline bool has_value_std__optional_std__vector_NativeRouteEntry__(const std::optional<std::vector<NativeRouteEntry>>& optional) noexcept {
1331
+ inline bool has_value_std__optional_ImageQueryParams_(const std::optional<ImageQueryParams>& optional) noexcept {
1254
1332
  return optional.has_value();
1255
1333
  }
1256
- inline std::vector<NativeRouteEntry> get_std__optional_std__vector_NativeRouteEntry__(const std::optional<std::vector<NativeRouteEntry>>& optional) noexcept {
1334
+ inline ImageQueryParams get_std__optional_ImageQueryParams_(const std::optional<ImageQueryParams>& optional) noexcept {
1257
1335
  return optional.value();
1258
1336
  }
1259
1337
 
1260
- // pragma MARK: std::vector<NativeRouteEntry>
1261
- /**
1262
- * Specialized version of `std::vector<NativeRouteEntry>`.
1263
- */
1264
- using std__vector_NativeRouteEntry_ = std::vector<NativeRouteEntry>;
1265
- inline std::vector<NativeRouteEntry> create_std__vector_NativeRouteEntry_(size_t size) noexcept {
1266
- std::vector<NativeRouteEntry> vector;
1267
- vector.reserve(size);
1268
- return vector;
1269
- }
1270
-
1271
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>>
1338
+ // pragma MARK: std::optional<ArtworkRequestConfig>
1272
1339
  /**
1273
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& / * param * /)>>`.
1340
+ * Specialized version of `std::optional<ArtworkRequestConfig>`.
1274
1341
  */
1275
- using std__optional_std__function_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______const_BrowserSourceCallbackParam_____param______ = std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>>;
1276
- inline std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______const_BrowserSourceCallbackParam_____param______(const std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>& value) noexcept {
1277
- return std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>>(value);
1342
+ using std__optional_ArtworkRequestConfig_ = std::optional<ArtworkRequestConfig>;
1343
+ inline std::optional<ArtworkRequestConfig> create_std__optional_ArtworkRequestConfig_(const ArtworkRequestConfig& value) noexcept {
1344
+ return std::optional<ArtworkRequestConfig>(value);
1278
1345
  }
1279
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______const_BrowserSourceCallbackParam_____param______(const std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>>& optional) noexcept {
1346
+ inline bool has_value_std__optional_ArtworkRequestConfig_(const std::optional<ArtworkRequestConfig>& optional) noexcept {
1280
1347
  return optional.has_value();
1281
1348
  }
1282
- inline std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)> get_std__optional_std__function_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______const_BrowserSourceCallbackParam_____param______(const std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>>& optional) noexcept {
1349
+ inline ArtworkRequestConfig get_std__optional_ArtworkRequestConfig_(const std::optional<ArtworkRequestConfig>& optional) noexcept {
1283
1350
  return optional.value();
1284
1351
  }
1285
1352
 
1286
- // pragma MARK: std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>
1287
- /**
1288
- * Specialized version of `std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam&)>`.
1289
- */
1290
- using Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam = std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>;
1353
+ // pragma MARK: std::variant<ResolvedTrack, BrowseError>
1291
1354
  /**
1292
- * Wrapper class for a `std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& / * param * /)>`, this can be used from Swift.
1355
+ * Wrapper struct for `std::variant<ResolvedTrack, BrowseError>`.
1356
+ * std::variant cannot be used in Swift because of a Swift bug.
1357
+ * Not even specializing it works. So we create a wrapper struct.
1293
1358
  */
1294
- class Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam_Wrapper final {
1295
- public:
1296
- explicit Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam_Wrapper(std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>>(std::move(func))) {}
1297
- inline std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>> call(BrowserSourceCallbackParam param) const noexcept {
1298
- auto __result = _function->operator()(param);
1299
- return __result;
1359
+ struct std__variant_ResolvedTrack__BrowseError_ final {
1360
+ std::variant<ResolvedTrack, BrowseError> variant;
1361
+ std__variant_ResolvedTrack__BrowseError_(std::variant<ResolvedTrack, BrowseError> variant): variant(variant) { }
1362
+ operator std::variant<ResolvedTrack, BrowseError>() const noexcept {
1363
+ return variant;
1300
1364
  }
1301
- private:
1302
- std::unique_ptr<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>> _function;
1303
- } SWIFT_NONCOPYABLE;
1304
- Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam create_Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam(void* NON_NULL swiftClosureWrapper) noexcept;
1305
- inline Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam_Wrapper wrap_Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam(Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam value) noexcept {
1306
- return Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam_Wrapper(std::move(value));
1365
+ inline size_t index() const noexcept {
1366
+ return variant.index();
1367
+ }
1368
+ inline ResolvedTrack get_0() const noexcept {
1369
+ return std::get<0>(variant);
1370
+ }
1371
+ inline BrowseError get_1() const noexcept {
1372
+ return std::get<1>(variant);
1373
+ }
1374
+ };
1375
+ inline std__variant_ResolvedTrack__BrowseError_ create_std__variant_ResolvedTrack__BrowseError_(const ResolvedTrack& value) noexcept {
1376
+ return std__variant_ResolvedTrack__BrowseError_(value);
1377
+ }
1378
+ inline std__variant_ResolvedTrack__BrowseError_ create_std__variant_ResolvedTrack__BrowseError_(const BrowseError& value) noexcept {
1379
+ return std__variant_ResolvedTrack__BrowseError_(value);
1307
1380
  }
1308
1381
 
1309
- // pragma MARK: std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>
1382
+ // pragma MARK: std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>
1310
1383
  /**
1311
- * Specialized version of `std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>`.
1384
+ * Specialized version of `std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>`.
1312
1385
  */
1313
- using std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______ = std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>;
1314
- inline std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>> create_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______() noexcept {
1315
- return Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>::create();
1386
+ using std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___ = std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>;
1387
+ inline std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>> create_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___() noexcept {
1388
+ return Promise<std::variant<ResolvedTrack, BrowseError>>::create();
1316
1389
  }
1317
- inline PromiseHolder<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>> wrap_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______(std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>> promise) noexcept {
1318
- return PromiseHolder<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(std::move(promise));
1390
+ inline PromiseHolder<std::variant<ResolvedTrack, BrowseError>> wrap_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___(std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>> promise) noexcept {
1391
+ return PromiseHolder<std::variant<ResolvedTrack, BrowseError>>(std::move(promise));
1319
1392
  }
1320
1393
 
1321
- // pragma MARK: std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& /* result */)>
1394
+ // pragma MARK: std::function<void(const std::variant<ResolvedTrack, BrowseError>& /* result */)>
1322
1395
  /**
1323
- * Specialized version of `std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>&)>`.
1396
+ * Specialized version of `std::function<void(const std::variant<ResolvedTrack, BrowseError>&)>`.
1324
1397
  */
1325
- using Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____ = std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& /* result */)>;
1398
+ using Func_void_std__variant_ResolvedTrack__BrowseError_ = std::function<void(const std::variant<ResolvedTrack, BrowseError>& /* result */)>;
1326
1399
  /**
1327
- * Wrapper class for a `std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& / * result * /)>`, this can be used from Swift.
1400
+ * Wrapper class for a `std::function<void(const std::variant<ResolvedTrack, BrowseError>& / * result * /)>`, this can be used from Swift.
1328
1401
  */
1329
- class Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_____Wrapper final {
1402
+ class Func_void_std__variant_ResolvedTrack__BrowseError__Wrapper final {
1330
1403
  public:
1331
- explicit Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_____Wrapper(std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& /* result */)>>(std::move(func))) {}
1332
- inline void call(std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>> result) const noexcept {
1404
+ explicit Func_void_std__variant_ResolvedTrack__BrowseError__Wrapper(std::function<void(const std::variant<ResolvedTrack, BrowseError>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::variant<ResolvedTrack, BrowseError>& /* result */)>>(std::move(func))) {}
1405
+ inline void call(std::variant<ResolvedTrack, BrowseError> result) const noexcept {
1333
1406
  _function->operator()(result);
1334
1407
  }
1335
1408
  private:
1336
- std::unique_ptr<std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& /* result */)>> _function;
1409
+ std::unique_ptr<std::function<void(const std::variant<ResolvedTrack, BrowseError>& /* result */)>> _function;
1337
1410
  } SWIFT_NONCOPYABLE;
1338
- Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____ create_Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____(void* NON_NULL swiftClosureWrapper) noexcept;
1339
- inline Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_____Wrapper wrap_Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____(Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____ value) noexcept {
1340
- return Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_____Wrapper(std::move(value));
1411
+ Func_void_std__variant_ResolvedTrack__BrowseError_ create_Func_void_std__variant_ResolvedTrack__BrowseError_(void* NON_NULL swiftClosureWrapper) noexcept;
1412
+ inline Func_void_std__variant_ResolvedTrack__BrowseError__Wrapper wrap_Func_void_std__variant_ResolvedTrack__BrowseError_(Func_void_std__variant_ResolvedTrack__BrowseError_ value) noexcept {
1413
+ return Func_void_std__variant_ResolvedTrack__BrowseError__Wrapper(std::move(value));
1341
1414
  }
1342
1415
 
1343
1416
  // pragma MARK: std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>
@@ -1375,81 +1448,90 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1375
1448
  return std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____(value);
1376
1449
  }
1377
1450
 
1378
- // pragma MARK: std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>
1451
+ // pragma MARK: std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>
1379
1452
  /**
1380
- * Specialized version of `std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>`.
1453
+ * Specialized version of `std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam&)>`.
1381
1454
  */
1382
- using std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___ = std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>;
1383
- inline std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>> create_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___() noexcept {
1384
- return Promise<std::variant<ResolvedTrack, BrowseError>>::create();
1455
+ using Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam = std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>;
1456
+ /**
1457
+ * Wrapper class for a `std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& / * param * /)>`, this can be used from Swift.
1458
+ */
1459
+ class Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam_Wrapper final {
1460
+ public:
1461
+ explicit Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam_Wrapper(std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>>(std::move(func))) {}
1462
+ inline std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>> call(BrowserSourceCallbackParam param) const noexcept {
1463
+ auto __result = _function->operator()(param);
1464
+ return __result;
1465
+ }
1466
+ private:
1467
+ std::unique_ptr<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>> _function;
1468
+ } SWIFT_NONCOPYABLE;
1469
+ Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam create_Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam(void* NON_NULL swiftClosureWrapper) noexcept;
1470
+ inline Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam_Wrapper wrap_Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam(Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam value) noexcept {
1471
+ return Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam_Wrapper(std::move(value));
1385
1472
  }
1386
- inline PromiseHolder<std::variant<ResolvedTrack, BrowseError>> wrap_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___(std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>> promise) noexcept {
1387
- return PromiseHolder<std::variant<ResolvedTrack, BrowseError>>(std::move(promise));
1473
+
1474
+ // pragma MARK: std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>
1475
+ /**
1476
+ * Specialized version of `std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>`.
1477
+ */
1478
+ using std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______ = std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>;
1479
+ inline std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>> create_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______() noexcept {
1480
+ return Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>::create();
1481
+ }
1482
+ inline PromiseHolder<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>> wrap_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______(std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>> promise) noexcept {
1483
+ return PromiseHolder<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(std::move(promise));
1388
1484
  }
1389
1485
 
1390
- // pragma MARK: std::function<void(const std::variant<ResolvedTrack, BrowseError>& /* result */)>
1486
+ // pragma MARK: std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& /* result */)>
1391
1487
  /**
1392
- * Specialized version of `std::function<void(const std::variant<ResolvedTrack, BrowseError>&)>`.
1488
+ * Specialized version of `std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>&)>`.
1393
1489
  */
1394
- using Func_void_std__variant_ResolvedTrack__BrowseError_ = std::function<void(const std::variant<ResolvedTrack, BrowseError>& /* result */)>;
1490
+ using Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____ = std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& /* result */)>;
1395
1491
  /**
1396
- * Wrapper class for a `std::function<void(const std::variant<ResolvedTrack, BrowseError>& / * result * /)>`, this can be used from Swift.
1492
+ * Wrapper class for a `std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& / * result * /)>`, this can be used from Swift.
1397
1493
  */
1398
- class Func_void_std__variant_ResolvedTrack__BrowseError__Wrapper final {
1494
+ class Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_____Wrapper final {
1399
1495
  public:
1400
- explicit Func_void_std__variant_ResolvedTrack__BrowseError__Wrapper(std::function<void(const std::variant<ResolvedTrack, BrowseError>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::variant<ResolvedTrack, BrowseError>& /* result */)>>(std::move(func))) {}
1401
- inline void call(std::variant<ResolvedTrack, BrowseError> result) const noexcept {
1496
+ explicit Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_____Wrapper(std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& /* result */)>>(std::move(func))) {}
1497
+ inline void call(std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>> result) const noexcept {
1402
1498
  _function->operator()(result);
1403
1499
  }
1404
1500
  private:
1405
- std::unique_ptr<std::function<void(const std::variant<ResolvedTrack, BrowseError>& /* result */)>> _function;
1501
+ std::unique_ptr<std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& /* result */)>> _function;
1406
1502
  } SWIFT_NONCOPYABLE;
1407
- Func_void_std__variant_ResolvedTrack__BrowseError_ create_Func_void_std__variant_ResolvedTrack__BrowseError_(void* NON_NULL swiftClosureWrapper) noexcept;
1408
- inline Func_void_std__variant_ResolvedTrack__BrowseError__Wrapper wrap_Func_void_std__variant_ResolvedTrack__BrowseError_(Func_void_std__variant_ResolvedTrack__BrowseError_ value) noexcept {
1409
- return Func_void_std__variant_ResolvedTrack__BrowseError__Wrapper(std::move(value));
1503
+ Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____ create_Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____(void* NON_NULL swiftClosureWrapper) noexcept;
1504
+ inline Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_____Wrapper wrap_Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____(Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____ value) noexcept {
1505
+ return Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_____Wrapper(std::move(value));
1410
1506
  }
1411
1507
 
1412
- // pragma MARK: std::variant<ResolvedTrack, BrowseError>
1508
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>>
1413
1509
  /**
1414
- * Wrapper struct for `std::variant<ResolvedTrack, BrowseError>`.
1415
- * std::variant cannot be used in Swift because of a Swift bug.
1416
- * Not even specializing it works. So we create a wrapper struct.
1510
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& / * param * /)>>`.
1417
1511
  */
1418
- struct std__variant_ResolvedTrack__BrowseError_ final {
1419
- std::variant<ResolvedTrack, BrowseError> variant;
1420
- std__variant_ResolvedTrack__BrowseError_(std::variant<ResolvedTrack, BrowseError> variant): variant(variant) { }
1421
- operator std::variant<ResolvedTrack, BrowseError>() const noexcept {
1422
- return variant;
1423
- }
1424
- inline size_t index() const noexcept {
1425
- return variant.index();
1426
- }
1427
- inline ResolvedTrack get_0() const noexcept {
1428
- return std::get<0>(variant);
1429
- }
1430
- inline BrowseError get_1() const noexcept {
1431
- return std::get<1>(variant);
1432
- }
1433
- };
1434
- inline std__variant_ResolvedTrack__BrowseError_ create_std__variant_ResolvedTrack__BrowseError_(const ResolvedTrack& value) noexcept {
1435
- return std__variant_ResolvedTrack__BrowseError_(value);
1512
+ using std__optional_std__function_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______const_BrowserSourceCallbackParam_____param______ = std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>>;
1513
+ inline std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______const_BrowserSourceCallbackParam_____param______(const std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>& value) noexcept {
1514
+ return std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>>(value);
1436
1515
  }
1437
- inline std__variant_ResolvedTrack__BrowseError_ create_std__variant_ResolvedTrack__BrowseError_(const BrowseError& value) noexcept {
1438
- return std__variant_ResolvedTrack__BrowseError_(value);
1516
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______const_BrowserSourceCallbackParam_____param______(const std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>>& optional) noexcept {
1517
+ return optional.has_value();
1518
+ }
1519
+ inline std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)> get_std__optional_std__function_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______const_BrowserSourceCallbackParam_____param______(const std::optional<std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>>& optional) noexcept {
1520
+ return optional.value();
1439
1521
  }
1440
1522
 
1441
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>>
1523
+ // pragma MARK: std::optional<SearchMode>
1442
1524
  /**
1443
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& / * params * /)>>`.
1525
+ * Specialized version of `std::optional<SearchMode>`.
1444
1526
  */
1445
- using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______const_SearchParams_____params______ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>>;
1446
- inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______const_SearchParams_____params______(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>& value) noexcept {
1447
- return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>>(value);
1527
+ using std__optional_SearchMode_ = std::optional<SearchMode>;
1528
+ inline std::optional<SearchMode> create_std__optional_SearchMode_(const SearchMode& value) noexcept {
1529
+ return std::optional<SearchMode>(value);
1448
1530
  }
1449
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______const_SearchParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>>& optional) noexcept {
1531
+ inline bool has_value_std__optional_SearchMode_(const std::optional<SearchMode>& optional) noexcept {
1450
1532
  return optional.has_value();
1451
1533
  }
1452
- inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______const_SearchParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>>& optional) noexcept {
1534
+ inline SearchMode get_std__optional_SearchMode_(const std::optional<SearchMode>& optional) noexcept {
1453
1535
  return optional.value();
1454
1536
  }
1455
1537
 
@@ -1510,36 +1592,81 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1510
1592
  return Func_void_std__shared_ptr_Promise_std__vector_Track____Wrapper(std::move(value));
1511
1593
  }
1512
1594
 
1513
- // pragma MARK: std::optional<SearchMode>
1595
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>>
1514
1596
  /**
1515
- * Specialized version of `std::optional<SearchMode>`.
1597
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& / * params * /)>>`.
1516
1598
  */
1517
- using std__optional_SearchMode_ = std::optional<SearchMode>;
1518
- inline std::optional<SearchMode> create_std__optional_SearchMode_(const SearchMode& value) noexcept {
1519
- return std::optional<SearchMode>(value);
1599
+ using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______const_SearchParams_____params______ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>>;
1600
+ inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______const_SearchParams_____params______(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>& value) noexcept {
1601
+ return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>>(value);
1520
1602
  }
1521
- inline bool has_value_std__optional_SearchMode_(const std::optional<SearchMode>& optional) noexcept {
1603
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______const_SearchParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>>& optional) noexcept {
1522
1604
  return optional.has_value();
1523
1605
  }
1524
- inline SearchMode get_std__optional_SearchMode_(const std::optional<SearchMode>& optional) noexcept {
1606
+ inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______const_SearchParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::vector<Track>>>>>(const SearchParams& /* params */)>>& optional) noexcept {
1525
1607
  return optional.value();
1526
1608
  }
1527
1609
 
1528
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>>
1610
+ // pragma MARK: std::vector<NativeRouteEntry>
1529
1611
  /**
1530
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& / * event * /)>>`.
1612
+ * Specialized version of `std::vector<NativeRouteEntry>`.
1531
1613
  */
1532
- using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____const_TrackLoadEvent_____event______ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>>;
1533
- inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____const_TrackLoadEvent_____event______(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>& value) noexcept {
1534
- return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>>(value);
1614
+ using std__vector_NativeRouteEntry_ = std::vector<NativeRouteEntry>;
1615
+ inline std::vector<NativeRouteEntry> create_std__vector_NativeRouteEntry_(size_t size) noexcept {
1616
+ std::vector<NativeRouteEntry> vector;
1617
+ vector.reserve(size);
1618
+ return vector;
1535
1619
  }
1536
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____const_TrackLoadEvent_____event______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>>& optional) noexcept {
1620
+
1621
+ // pragma MARK: std::optional<std::vector<NativeRouteEntry>>
1622
+ /**
1623
+ * Specialized version of `std::optional<std::vector<NativeRouteEntry>>`.
1624
+ */
1625
+ using std__optional_std__vector_NativeRouteEntry__ = std::optional<std::vector<NativeRouteEntry>>;
1626
+ inline std::optional<std::vector<NativeRouteEntry>> create_std__optional_std__vector_NativeRouteEntry__(const std::vector<NativeRouteEntry>& value) noexcept {
1627
+ return std::optional<std::vector<NativeRouteEntry>>(value);
1628
+ }
1629
+ inline bool has_value_std__optional_std__vector_NativeRouteEntry__(const std::optional<std::vector<NativeRouteEntry>>& optional) noexcept {
1537
1630
  return optional.has_value();
1538
1631
  }
1539
- inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____const_TrackLoadEvent_____event______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>>& optional) noexcept {
1632
+ inline std::vector<NativeRouteEntry> get_std__optional_std__vector_NativeRouteEntry__(const std::optional<std::vector<NativeRouteEntry>>& optional) noexcept {
1540
1633
  return optional.value();
1541
1634
  }
1542
1635
 
1636
+ // pragma MARK: std::shared_ptr<Promise<void>>
1637
+ /**
1638
+ * Specialized version of `std::shared_ptr<Promise<void>>`.
1639
+ */
1640
+ using std__shared_ptr_Promise_void__ = std::shared_ptr<Promise<void>>;
1641
+ inline std::shared_ptr<Promise<void>> create_std__shared_ptr_Promise_void__() noexcept {
1642
+ return Promise<void>::create();
1643
+ }
1644
+ inline PromiseHolder<void> wrap_std__shared_ptr_Promise_void__(std::shared_ptr<Promise<void>> promise) noexcept {
1645
+ return PromiseHolder<void>(std::move(promise));
1646
+ }
1647
+
1648
+ // pragma MARK: std::function<void()>
1649
+ /**
1650
+ * Specialized version of `std::function<void()>`.
1651
+ */
1652
+ using Func_void = std::function<void()>;
1653
+ /**
1654
+ * Wrapper class for a `std::function<void()>`, this can be used from Swift.
1655
+ */
1656
+ class Func_void_Wrapper final {
1657
+ public:
1658
+ explicit Func_void_Wrapper(std::function<void()>&& func): _function(std::make_unique<std::function<void()>>(std::move(func))) {}
1659
+ inline void call() const noexcept {
1660
+ _function->operator()();
1661
+ }
1662
+ private:
1663
+ std::unique_ptr<std::function<void()>> _function;
1664
+ } SWIFT_NONCOPYABLE;
1665
+ Func_void create_Func_void(void* NON_NULL swiftClosureWrapper) noexcept;
1666
+ inline Func_void_Wrapper wrap_Func_void(Func_void value) noexcept {
1667
+ return Func_void_Wrapper(std::move(value));
1668
+ }
1669
+
1543
1670
  // pragma MARK: std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>
1544
1671
  /**
1545
1672
  * Specialized version of `std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent&)>`.
@@ -1597,52 +1724,68 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1597
1724
  return Func_void_std__shared_ptr_Promise_void___Wrapper(std::move(value));
1598
1725
  }
1599
1726
 
1600
- // pragma MARK: std::shared_ptr<Promise<void>>
1727
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>>
1601
1728
  /**
1602
- * Specialized version of `std::shared_ptr<Promise<void>>`.
1729
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& / * event * /)>>`.
1603
1730
  */
1604
- using std__shared_ptr_Promise_void__ = std::shared_ptr<Promise<void>>;
1605
- inline std::shared_ptr<Promise<void>> create_std__shared_ptr_Promise_void__() noexcept {
1606
- return Promise<void>::create();
1731
+ using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____const_TrackLoadEvent_____event______ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>>;
1732
+ inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____const_TrackLoadEvent_____event______(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>& value) noexcept {
1733
+ return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>>(value);
1607
1734
  }
1608
- inline PromiseHolder<void> wrap_std__shared_ptr_Promise_void__(std::shared_ptr<Promise<void>> promise) noexcept {
1609
- return PromiseHolder<void>(std::move(promise));
1735
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____const_TrackLoadEvent_____event______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>>& optional) noexcept {
1736
+ return optional.has_value();
1737
+ }
1738
+ inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____const_TrackLoadEvent_____event______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<void>>>>(const TrackLoadEvent& /* event */)>>& optional) noexcept {
1739
+ return optional.value();
1610
1740
  }
1611
1741
 
1612
- // pragma MARK: std::function<void()>
1742
+ // pragma MARK: std::function<std::shared_ptr<Promise<std::string>>()>
1613
1743
  /**
1614
- * Specialized version of `std::function<void()>`.
1744
+ * Specialized version of `std::function<std::shared_ptr<Promise<std::string>>()>`.
1615
1745
  */
1616
- using Func_void = std::function<void()>;
1746
+ using Func_std__shared_ptr_Promise_std__string__ = std::function<std::shared_ptr<Promise<std::string>>()>;
1617
1747
  /**
1618
- * Wrapper class for a `std::function<void()>`, this can be used from Swift.
1748
+ * Wrapper class for a `std::function<std::shared_ptr<Promise<std::string>>()>`, this can be used from Swift.
1619
1749
  */
1620
- class Func_void_Wrapper final {
1750
+ class Func_std__shared_ptr_Promise_std__string___Wrapper final {
1621
1751
  public:
1622
- explicit Func_void_Wrapper(std::function<void()>&& func): _function(std::make_unique<std::function<void()>>(std::move(func))) {}
1623
- inline void call() const noexcept {
1624
- _function->operator()();
1752
+ explicit Func_std__shared_ptr_Promise_std__string___Wrapper(std::function<std::shared_ptr<Promise<std::string>>()>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<std::string>>()>>(std::move(func))) {}
1753
+ inline std::shared_ptr<Promise<std::string>> call() const noexcept {
1754
+ auto __result = _function->operator()();
1755
+ return __result;
1625
1756
  }
1626
1757
  private:
1627
- std::unique_ptr<std::function<void()>> _function;
1758
+ std::unique_ptr<std::function<std::shared_ptr<Promise<std::string>>()>> _function;
1628
1759
  } SWIFT_NONCOPYABLE;
1629
- Func_void create_Func_void(void* NON_NULL swiftClosureWrapper) noexcept;
1630
- inline Func_void_Wrapper wrap_Func_void(Func_void value) noexcept {
1631
- return Func_void_Wrapper(std::move(value));
1760
+ Func_std__shared_ptr_Promise_std__string__ create_Func_std__shared_ptr_Promise_std__string__(void* NON_NULL swiftClosureWrapper) noexcept;
1761
+ inline Func_std__shared_ptr_Promise_std__string___Wrapper wrap_Func_std__shared_ptr_Promise_std__string__(Func_std__shared_ptr_Promise_std__string__ value) noexcept {
1762
+ return Func_std__shared_ptr_Promise_std__string___Wrapper(std::move(value));
1632
1763
  }
1633
1764
 
1634
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>
1765
+ // pragma MARK: std::shared_ptr<Promise<std::string>>
1635
1766
  /**
1636
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& / * track * /)>>`.
1767
+ * Specialized version of `std::shared_ptr<Promise<std::string>>`.
1637
1768
  */
1638
- using std__optional_std__function_std__shared_ptr_Promise_std__optional_std__string____const_Track_____track______ = std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>;
1639
- inline std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__optional_std__string____const_Track_____track______(const std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>& value) noexcept {
1640
- return std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>(value);
1769
+ using std__shared_ptr_Promise_std__string__ = std::shared_ptr<Promise<std::string>>;
1770
+ inline std::shared_ptr<Promise<std::string>> create_std__shared_ptr_Promise_std__string__() noexcept {
1771
+ return Promise<std::string>::create();
1641
1772
  }
1642
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__optional_std__string____const_Track_____track______(const std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>& optional) noexcept {
1773
+ inline PromiseHolder<std::string> wrap_std__shared_ptr_Promise_std__string__(std::shared_ptr<Promise<std::string>> promise) noexcept {
1774
+ return PromiseHolder<std::string>(std::move(promise));
1775
+ }
1776
+
1777
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::string>>()>>
1778
+ /**
1779
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::string>>()>>`.
1780
+ */
1781
+ using std__optional_std__function_std__shared_ptr_Promise_std__string______ = std::optional<std::function<std::shared_ptr<Promise<std::string>>()>>;
1782
+ inline std::optional<std::function<std::shared_ptr<Promise<std::string>>()>> create_std__optional_std__function_std__shared_ptr_Promise_std__string______(const std::function<std::shared_ptr<Promise<std::string>>()>& value) noexcept {
1783
+ return std::optional<std::function<std::shared_ptr<Promise<std::string>>()>>(value);
1784
+ }
1785
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__string______(const std::optional<std::function<std::shared_ptr<Promise<std::string>>()>>& optional) noexcept {
1643
1786
  return optional.has_value();
1644
1787
  }
1645
- inline std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)> get_std__optional_std__function_std__shared_ptr_Promise_std__optional_std__string____const_Track_____track______(const std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>& optional) noexcept {
1788
+ inline std::function<std::shared_ptr<Promise<std::string>>()> get_std__optional_std__function_std__shared_ptr_Promise_std__string______(const std::optional<std::function<std::shared_ptr<Promise<std::string>>()>>& optional) noexcept {
1646
1789
  return optional.value();
1647
1790
  }
1648
1791
 
@@ -1703,18 +1846,18 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1703
1846
  return Func_void_std__optional_std__string__Wrapper(std::move(value));
1704
1847
  }
1705
1848
 
1706
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>>
1849
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>
1707
1850
  /**
1708
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& / * params * /)>>`.
1851
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& / * track * /)>>`.
1709
1852
  */
1710
- using std__optional_std__function_std__shared_ptr_Promise_std__optional_FormattedNavigationError____const_FormatNavigationErrorParams_____params______ = std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>>;
1711
- inline std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__optional_FormattedNavigationError____const_FormatNavigationErrorParams_____params______(const std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>& value) noexcept {
1712
- return std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>>(value);
1853
+ using std__optional_std__function_std__shared_ptr_Promise_std__optional_std__string____const_Track_____track______ = std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>;
1854
+ inline std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__optional_std__string____const_Track_____track______(const std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>& value) noexcept {
1855
+ return std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>(value);
1713
1856
  }
1714
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__optional_FormattedNavigationError____const_FormatNavigationErrorParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>>& optional) noexcept {
1857
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__optional_std__string____const_Track_____track______(const std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>& optional) noexcept {
1715
1858
  return optional.has_value();
1716
1859
  }
1717
- inline std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)> get_std__optional_std__function_std__shared_ptr_Promise_std__optional_FormattedNavigationError____const_FormatNavigationErrorParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>>& optional) noexcept {
1860
+ inline std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)> get_std__optional_std__function_std__shared_ptr_Promise_std__optional_std__string____const_Track_____track______(const std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>& optional) noexcept {
1718
1861
  return optional.value();
1719
1862
  }
1720
1863
 
@@ -1753,6 +1896,21 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1753
1896
  return PromiseHolder<std::optional<FormattedNavigationError>>(std::move(promise));
1754
1897
  }
1755
1898
 
1899
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>>
1900
+ /**
1901
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& / * params * /)>>`.
1902
+ */
1903
+ using std__optional_std__function_std__shared_ptr_Promise_std__optional_FormattedNavigationError____const_FormatNavigationErrorParams_____params______ = std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>>;
1904
+ inline std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__optional_FormattedNavigationError____const_FormatNavigationErrorParams_____params______(const std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>& value) noexcept {
1905
+ return std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>>(value);
1906
+ }
1907
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__optional_FormattedNavigationError____const_FormatNavigationErrorParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>>& optional) noexcept {
1908
+ return optional.has_value();
1909
+ }
1910
+ inline std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)> get_std__optional_std__function_std__shared_ptr_Promise_std__optional_FormattedNavigationError____const_FormatNavigationErrorParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>>& optional) noexcept {
1911
+ return optional.value();
1912
+ }
1913
+
1756
1914
  // pragma MARK: std::optional<Gate>
1757
1915
  /**
1758
1916
  * Specialized version of `std::optional<Gate>`.
@@ -1918,36 +2076,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1918
2076
  return Func_void_bool_Wrapper(std::move(value));
1919
2077
  }
1920
2078
 
1921
- // pragma MARK: std::optional<NativeAndroidSetupOptions>
1922
- /**
1923
- * Specialized version of `std::optional<NativeAndroidSetupOptions>`.
1924
- */
1925
- using std__optional_NativeAndroidSetupOptions_ = std::optional<NativeAndroidSetupOptions>;
1926
- inline std::optional<NativeAndroidSetupOptions> create_std__optional_NativeAndroidSetupOptions_(const NativeAndroidSetupOptions& value) noexcept {
1927
- return std::optional<NativeAndroidSetupOptions>(value);
1928
- }
1929
- inline bool has_value_std__optional_NativeAndroidSetupOptions_(const std::optional<NativeAndroidSetupOptions>& optional) noexcept {
1930
- return optional.has_value();
1931
- }
1932
- inline NativeAndroidSetupOptions get_std__optional_NativeAndroidSetupOptions_(const std::optional<NativeAndroidSetupOptions>& optional) noexcept {
1933
- return optional.value();
1934
- }
1935
-
1936
- // pragma MARK: std::optional<std::variant<bool, AndroidAudioOffloadSettings>>
1937
- /**
1938
- * Specialized version of `std::optional<std::variant<bool, AndroidAudioOffloadSettings>>`.
1939
- */
1940
- using std__optional_std__variant_bool__AndroidAudioOffloadSettings__ = std::optional<std::variant<bool, AndroidAudioOffloadSettings>>;
1941
- inline std::optional<std::variant<bool, AndroidAudioOffloadSettings>> create_std__optional_std__variant_bool__AndroidAudioOffloadSettings__(const std::variant<bool, AndroidAudioOffloadSettings>& value) noexcept {
1942
- return std::optional<std::variant<bool, AndroidAudioOffloadSettings>>(value);
1943
- }
1944
- inline bool has_value_std__optional_std__variant_bool__AndroidAudioOffloadSettings__(const std::optional<std::variant<bool, AndroidAudioOffloadSettings>>& optional) noexcept {
1945
- return optional.has_value();
1946
- }
1947
- inline std::variant<bool, AndroidAudioOffloadSettings> get_std__optional_std__variant_bool__AndroidAudioOffloadSettings__(const std::optional<std::variant<bool, AndroidAudioOffloadSettings>>& optional) noexcept {
1948
- return optional.value();
1949
- }
1950
-
1951
2079
  // pragma MARK: std::variant<bool, AndroidAudioOffloadSettings>
1952
2080
  /**
1953
2081
  * Wrapper struct for `std::variant<bool, AndroidAudioOffloadSettings>`.
@@ -1977,18 +2105,18 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1977
2105
  return std__variant_bool__AndroidAudioOffloadSettings_(value);
1978
2106
  }
1979
2107
 
1980
- // pragma MARK: std::optional<std::variant<nitro::NullType, double>>
2108
+ // pragma MARK: std::optional<std::variant<bool, AndroidAudioOffloadSettings>>
1981
2109
  /**
1982
- * Specialized version of `std::optional<std::variant<nitro::NullType, double>>`.
2110
+ * Specialized version of `std::optional<std::variant<bool, AndroidAudioOffloadSettings>>`.
1983
2111
  */
1984
- using std__optional_std__variant_nitro__NullType__double__ = std::optional<std::variant<nitro::NullType, double>>;
1985
- inline std::optional<std::variant<nitro::NullType, double>> create_std__optional_std__variant_nitro__NullType__double__(const std::variant<nitro::NullType, double>& value) noexcept {
1986
- return std::optional<std::variant<nitro::NullType, double>>(value);
2112
+ using std__optional_std__variant_bool__AndroidAudioOffloadSettings__ = std::optional<std::variant<bool, AndroidAudioOffloadSettings>>;
2113
+ inline std::optional<std::variant<bool, AndroidAudioOffloadSettings>> create_std__optional_std__variant_bool__AndroidAudioOffloadSettings__(const std::variant<bool, AndroidAudioOffloadSettings>& value) noexcept {
2114
+ return std::optional<std::variant<bool, AndroidAudioOffloadSettings>>(value);
1987
2115
  }
1988
- inline bool has_value_std__optional_std__variant_nitro__NullType__double__(const std::optional<std::variant<nitro::NullType, double>>& optional) noexcept {
2116
+ inline bool has_value_std__optional_std__variant_bool__AndroidAudioOffloadSettings__(const std::optional<std::variant<bool, AndroidAudioOffloadSettings>>& optional) noexcept {
1989
2117
  return optional.has_value();
1990
2118
  }
1991
- inline std::variant<nitro::NullType, double> get_std__optional_std__variant_nitro__NullType__double__(const std::optional<std::variant<nitro::NullType, double>>& optional) noexcept {
2119
+ inline std::variant<bool, AndroidAudioOffloadSettings> get_std__optional_std__variant_bool__AndroidAudioOffloadSettings__(const std::optional<std::variant<bool, AndroidAudioOffloadSettings>>& optional) noexcept {
1992
2120
  return optional.value();
1993
2121
  }
1994
2122
 
@@ -2021,6 +2149,21 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2021
2149
  return std__variant_nitro__NullType__double_(value);
2022
2150
  }
2023
2151
 
2152
+ // pragma MARK: std::optional<std::variant<nitro::NullType, double>>
2153
+ /**
2154
+ * Specialized version of `std::optional<std::variant<nitro::NullType, double>>`.
2155
+ */
2156
+ using std__optional_std__variant_nitro__NullType__double__ = std::optional<std::variant<nitro::NullType, double>>;
2157
+ inline std::optional<std::variant<nitro::NullType, double>> create_std__optional_std__variant_nitro__NullType__double__(const std::variant<nitro::NullType, double>& value) noexcept {
2158
+ return std::optional<std::variant<nitro::NullType, double>>(value);
2159
+ }
2160
+ inline bool has_value_std__optional_std__variant_nitro__NullType__double__(const std::optional<std::variant<nitro::NullType, double>>& optional) noexcept {
2161
+ return optional.has_value();
2162
+ }
2163
+ inline std::variant<nitro::NullType, double> get_std__optional_std__variant_nitro__NullType__double__(const std::optional<std::variant<nitro::NullType, double>>& optional) noexcept {
2164
+ return optional.value();
2165
+ }
2166
+
2024
2167
  // pragma MARK: std::optional<AndroidAudioContentType>
2025
2168
  /**
2026
2169
  * Specialized version of `std::optional<AndroidAudioContentType>`.
@@ -2051,18 +2194,18 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2051
2194
  return optional.value();
2052
2195
  }
2053
2196
 
2054
- // pragma MARK: std::optional<NativeIOSSetupOptions>
2197
+ // pragma MARK: std::optional<NativeAndroidSetupOptions>
2055
2198
  /**
2056
- * Specialized version of `std::optional<NativeIOSSetupOptions>`.
2199
+ * Specialized version of `std::optional<NativeAndroidSetupOptions>`.
2057
2200
  */
2058
- using std__optional_NativeIOSSetupOptions_ = std::optional<NativeIOSSetupOptions>;
2059
- inline std::optional<NativeIOSSetupOptions> create_std__optional_NativeIOSSetupOptions_(const NativeIOSSetupOptions& value) noexcept {
2060
- return std::optional<NativeIOSSetupOptions>(value);
2201
+ using std__optional_NativeAndroidSetupOptions_ = std::optional<NativeAndroidSetupOptions>;
2202
+ inline std::optional<NativeAndroidSetupOptions> create_std__optional_NativeAndroidSetupOptions_(const NativeAndroidSetupOptions& value) noexcept {
2203
+ return std::optional<NativeAndroidSetupOptions>(value);
2061
2204
  }
2062
- inline bool has_value_std__optional_NativeIOSSetupOptions_(const std::optional<NativeIOSSetupOptions>& optional) noexcept {
2205
+ inline bool has_value_std__optional_NativeAndroidSetupOptions_(const std::optional<NativeAndroidSetupOptions>& optional) noexcept {
2063
2206
  return optional.has_value();
2064
2207
  }
2065
- inline NativeIOSSetupOptions get_std__optional_NativeIOSSetupOptions_(const std::optional<NativeIOSSetupOptions>& optional) noexcept {
2208
+ inline NativeAndroidSetupOptions get_std__optional_NativeAndroidSetupOptions_(const std::optional<NativeAndroidSetupOptions>& optional) noexcept {
2066
2209
  return optional.value();
2067
2210
  }
2068
2211
 
@@ -2096,21 +2239,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2096
2239
  return optional.value();
2097
2240
  }
2098
2241
 
2099
- // pragma MARK: std::optional<std::vector<IOSCategoryOptions>>
2100
- /**
2101
- * Specialized version of `std::optional<std::vector<IOSCategoryOptions>>`.
2102
- */
2103
- using std__optional_std__vector_IOSCategoryOptions__ = std::optional<std::vector<IOSCategoryOptions>>;
2104
- inline std::optional<std::vector<IOSCategoryOptions>> create_std__optional_std__vector_IOSCategoryOptions__(const std::vector<IOSCategoryOptions>& value) noexcept {
2105
- return std::optional<std::vector<IOSCategoryOptions>>(value);
2106
- }
2107
- inline bool has_value_std__optional_std__vector_IOSCategoryOptions__(const std::optional<std::vector<IOSCategoryOptions>>& optional) noexcept {
2108
- return optional.has_value();
2109
- }
2110
- inline std::vector<IOSCategoryOptions> get_std__optional_std__vector_IOSCategoryOptions__(const std::optional<std::vector<IOSCategoryOptions>>& optional) noexcept {
2111
- return optional.value();
2112
- }
2113
-
2114
2242
  // pragma MARK: std::vector<IOSCategoryOptions>
2115
2243
  /**
2116
2244
  * Specialized version of `std::vector<IOSCategoryOptions>`.
@@ -2122,48 +2250,48 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2122
2250
  return vector;
2123
2251
  }
2124
2252
 
2125
- // pragma MARK: std::optional<IOSCategoryPolicy>
2253
+ // pragma MARK: std::optional<std::vector<IOSCategoryOptions>>
2126
2254
  /**
2127
- * Specialized version of `std::optional<IOSCategoryPolicy>`.
2255
+ * Specialized version of `std::optional<std::vector<IOSCategoryOptions>>`.
2128
2256
  */
2129
- using std__optional_IOSCategoryPolicy_ = std::optional<IOSCategoryPolicy>;
2130
- inline std::optional<IOSCategoryPolicy> create_std__optional_IOSCategoryPolicy_(const IOSCategoryPolicy& value) noexcept {
2131
- return std::optional<IOSCategoryPolicy>(value);
2257
+ using std__optional_std__vector_IOSCategoryOptions__ = std::optional<std::vector<IOSCategoryOptions>>;
2258
+ inline std::optional<std::vector<IOSCategoryOptions>> create_std__optional_std__vector_IOSCategoryOptions__(const std::vector<IOSCategoryOptions>& value) noexcept {
2259
+ return std::optional<std::vector<IOSCategoryOptions>>(value);
2132
2260
  }
2133
- inline bool has_value_std__optional_IOSCategoryPolicy_(const std::optional<IOSCategoryPolicy>& optional) noexcept {
2261
+ inline bool has_value_std__optional_std__vector_IOSCategoryOptions__(const std::optional<std::vector<IOSCategoryOptions>>& optional) noexcept {
2134
2262
  return optional.has_value();
2135
2263
  }
2136
- inline IOSCategoryPolicy get_std__optional_IOSCategoryPolicy_(const std::optional<IOSCategoryPolicy>& optional) noexcept {
2264
+ inline std::vector<IOSCategoryOptions> get_std__optional_std__vector_IOSCategoryOptions__(const std::optional<std::vector<IOSCategoryOptions>>& optional) noexcept {
2137
2265
  return optional.value();
2138
2266
  }
2139
2267
 
2140
- // pragma MARK: std::optional<NativeUpdateOptions>
2268
+ // pragma MARK: std::optional<IOSCategoryPolicy>
2141
2269
  /**
2142
- * Specialized version of `std::optional<NativeUpdateOptions>`.
2270
+ * Specialized version of `std::optional<IOSCategoryPolicy>`.
2143
2271
  */
2144
- using std__optional_NativeUpdateOptions_ = std::optional<NativeUpdateOptions>;
2145
- inline std::optional<NativeUpdateOptions> create_std__optional_NativeUpdateOptions_(const NativeUpdateOptions& value) noexcept {
2146
- return std::optional<NativeUpdateOptions>(value);
2272
+ using std__optional_IOSCategoryPolicy_ = std::optional<IOSCategoryPolicy>;
2273
+ inline std::optional<IOSCategoryPolicy> create_std__optional_IOSCategoryPolicy_(const IOSCategoryPolicy& value) noexcept {
2274
+ return std::optional<IOSCategoryPolicy>(value);
2147
2275
  }
2148
- inline bool has_value_std__optional_NativeUpdateOptions_(const std::optional<NativeUpdateOptions>& optional) noexcept {
2276
+ inline bool has_value_std__optional_IOSCategoryPolicy_(const std::optional<IOSCategoryPolicy>& optional) noexcept {
2149
2277
  return optional.has_value();
2150
2278
  }
2151
- inline NativeUpdateOptions get_std__optional_NativeUpdateOptions_(const std::optional<NativeUpdateOptions>& optional) noexcept {
2279
+ inline IOSCategoryPolicy get_std__optional_IOSCategoryPolicy_(const std::optional<IOSCategoryPolicy>& optional) noexcept {
2152
2280
  return optional.value();
2153
2281
  }
2154
2282
 
2155
- // pragma MARK: std::optional<NitroAndroidUpdateOptions>
2283
+ // pragma MARK: std::optional<NativeIOSSetupOptions>
2156
2284
  /**
2157
- * Specialized version of `std::optional<NitroAndroidUpdateOptions>`.
2285
+ * Specialized version of `std::optional<NativeIOSSetupOptions>`.
2158
2286
  */
2159
- using std__optional_NitroAndroidUpdateOptions_ = std::optional<NitroAndroidUpdateOptions>;
2160
- inline std::optional<NitroAndroidUpdateOptions> create_std__optional_NitroAndroidUpdateOptions_(const NitroAndroidUpdateOptions& value) noexcept {
2161
- return std::optional<NitroAndroidUpdateOptions>(value);
2287
+ using std__optional_NativeIOSSetupOptions_ = std::optional<NativeIOSSetupOptions>;
2288
+ inline std::optional<NativeIOSSetupOptions> create_std__optional_NativeIOSSetupOptions_(const NativeIOSSetupOptions& value) noexcept {
2289
+ return std::optional<NativeIOSSetupOptions>(value);
2162
2290
  }
2163
- inline bool has_value_std__optional_NitroAndroidUpdateOptions_(const std::optional<NitroAndroidUpdateOptions>& optional) noexcept {
2291
+ inline bool has_value_std__optional_NativeIOSSetupOptions_(const std::optional<NativeIOSSetupOptions>& optional) noexcept {
2164
2292
  return optional.has_value();
2165
2293
  }
2166
- inline NitroAndroidUpdateOptions get_std__optional_NitroAndroidUpdateOptions_(const std::optional<NitroAndroidUpdateOptions>& optional) noexcept {
2294
+ inline NativeIOSSetupOptions get_std__optional_NativeIOSSetupOptions_(const std::optional<NativeIOSSetupOptions>& optional) noexcept {
2167
2295
  return optional.value();
2168
2296
  }
2169
2297
 
@@ -2182,31 +2310,42 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2182
2310
  return optional.value();
2183
2311
  }
2184
2312
 
2185
- // pragma MARK: std::optional<std::variant<nitro::NullType, NotificationButtonLayout>>
2313
+ // pragma MARK: std::optional<RemoteButton>
2186
2314
  /**
2187
- * Specialized version of `std::optional<std::variant<nitro::NullType, NotificationButtonLayout>>`.
2315
+ * Specialized version of `std::optional<RemoteButton>`.
2188
2316
  */
2189
- using std__optional_std__variant_nitro__NullType__NotificationButtonLayout__ = std::optional<std::variant<nitro::NullType, NotificationButtonLayout>>;
2190
- inline std::optional<std::variant<nitro::NullType, NotificationButtonLayout>> create_std__optional_std__variant_nitro__NullType__NotificationButtonLayout__(const std::variant<nitro::NullType, NotificationButtonLayout>& value) noexcept {
2191
- return std::optional<std::variant<nitro::NullType, NotificationButtonLayout>>(value);
2317
+ using std__optional_RemoteButton_ = std::optional<RemoteButton>;
2318
+ inline std::optional<RemoteButton> create_std__optional_RemoteButton_(const RemoteButton& value) noexcept {
2319
+ return std::optional<RemoteButton>(value);
2192
2320
  }
2193
- inline bool has_value_std__optional_std__variant_nitro__NullType__NotificationButtonLayout__(const std::optional<std::variant<nitro::NullType, NotificationButtonLayout>>& optional) noexcept {
2321
+ inline bool has_value_std__optional_RemoteButton_(const std::optional<RemoteButton>& optional) noexcept {
2194
2322
  return optional.has_value();
2195
2323
  }
2196
- inline std::variant<nitro::NullType, NotificationButtonLayout> get_std__optional_std__variant_nitro__NullType__NotificationButtonLayout__(const std::optional<std::variant<nitro::NullType, NotificationButtonLayout>>& optional) noexcept {
2324
+ inline RemoteButton get_std__optional_RemoteButton_(const std::optional<RemoteButton>& optional) noexcept {
2197
2325
  return optional.value();
2198
2326
  }
2199
2327
 
2200
- // pragma MARK: std::variant<nitro::NullType, NotificationButtonLayout>
2328
+ // pragma MARK: std::vector<RemoteButton>
2201
2329
  /**
2202
- * Wrapper struct for `std::variant<nitro::NullType, NotificationButtonLayout>`.
2330
+ * Specialized version of `std::vector<RemoteButton>`.
2331
+ */
2332
+ using std__vector_RemoteButton_ = std::vector<RemoteButton>;
2333
+ inline std::vector<RemoteButton> create_std__vector_RemoteButton_(size_t size) noexcept {
2334
+ std::vector<RemoteButton> vector;
2335
+ vector.reserve(size);
2336
+ return vector;
2337
+ }
2338
+
2339
+ // pragma MARK: std::variant<nitro::NullType, RemoteButtonLayout>
2340
+ /**
2341
+ * Wrapper struct for `std::variant<nitro::NullType, RemoteButtonLayout>`.
2203
2342
  * std::variant cannot be used in Swift because of a Swift bug.
2204
2343
  * Not even specializing it works. So we create a wrapper struct.
2205
2344
  */
2206
- struct std__variant_nitro__NullType__NotificationButtonLayout_ final {
2207
- std::variant<nitro::NullType, NotificationButtonLayout> variant;
2208
- std__variant_nitro__NullType__NotificationButtonLayout_(std::variant<nitro::NullType, NotificationButtonLayout> variant): variant(variant) { }
2209
- operator std::variant<nitro::NullType, NotificationButtonLayout>() const noexcept {
2345
+ struct std__variant_nitro__NullType__RemoteButtonLayout_ final {
2346
+ std::variant<nitro::NullType, RemoteButtonLayout> variant;
2347
+ std__variant_nitro__NullType__RemoteButtonLayout_(std::variant<nitro::NullType, RemoteButtonLayout> variant): variant(variant) { }
2348
+ operator std::variant<nitro::NullType, RemoteButtonLayout>() const noexcept {
2210
2349
  return variant;
2211
2350
  }
2212
2351
  inline size_t index() const noexcept {
@@ -2215,73 +2354,58 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2215
2354
  inline nitro::NullType get_0() const noexcept {
2216
2355
  return std::get<0>(variant);
2217
2356
  }
2218
- inline NotificationButtonLayout get_1() const noexcept {
2357
+ inline RemoteButtonLayout get_1() const noexcept {
2219
2358
  return std::get<1>(variant);
2220
2359
  }
2221
2360
  };
2222
- inline std__variant_nitro__NullType__NotificationButtonLayout_ create_std__variant_nitro__NullType__NotificationButtonLayout_(nitro::NullType value) noexcept {
2223
- return std__variant_nitro__NullType__NotificationButtonLayout_(value);
2361
+ inline std__variant_nitro__NullType__RemoteButtonLayout_ create_std__variant_nitro__NullType__RemoteButtonLayout_(nitro::NullType value) noexcept {
2362
+ return std__variant_nitro__NullType__RemoteButtonLayout_(value);
2224
2363
  }
2225
- inline std__variant_nitro__NullType__NotificationButtonLayout_ create_std__variant_nitro__NullType__NotificationButtonLayout_(const NotificationButtonLayout& value) noexcept {
2226
- return std__variant_nitro__NullType__NotificationButtonLayout_(value);
2364
+ inline std__variant_nitro__NullType__RemoteButtonLayout_ create_std__variant_nitro__NullType__RemoteButtonLayout_(const RemoteButtonLayout& value) noexcept {
2365
+ return std__variant_nitro__NullType__RemoteButtonLayout_(value);
2227
2366
  }
2228
2367
 
2229
- // pragma MARK: std::optional<NotificationButton>
2368
+ // pragma MARK: std::optional<std::variant<nitro::NullType, RemoteButtonLayout>>
2230
2369
  /**
2231
- * Specialized version of `std::optional<NotificationButton>`.
2370
+ * Specialized version of `std::optional<std::variant<nitro::NullType, RemoteButtonLayout>>`.
2232
2371
  */
2233
- using std__optional_NotificationButton_ = std::optional<NotificationButton>;
2234
- inline std::optional<NotificationButton> create_std__optional_NotificationButton_(const NotificationButton& value) noexcept {
2235
- return std::optional<NotificationButton>(value);
2372
+ using std__optional_std__variant_nitro__NullType__RemoteButtonLayout__ = std::optional<std::variant<nitro::NullType, RemoteButtonLayout>>;
2373
+ inline std::optional<std::variant<nitro::NullType, RemoteButtonLayout>> create_std__optional_std__variant_nitro__NullType__RemoteButtonLayout__(const std::variant<nitro::NullType, RemoteButtonLayout>& value) noexcept {
2374
+ return std::optional<std::variant<nitro::NullType, RemoteButtonLayout>>(value);
2236
2375
  }
2237
- inline bool has_value_std__optional_NotificationButton_(const std::optional<NotificationButton>& optional) noexcept {
2376
+ inline bool has_value_std__optional_std__variant_nitro__NullType__RemoteButtonLayout__(const std::optional<std::variant<nitro::NullType, RemoteButtonLayout>>& optional) noexcept {
2238
2377
  return optional.has_value();
2239
2378
  }
2240
- inline NotificationButton get_std__optional_NotificationButton_(const std::optional<NotificationButton>& optional) noexcept {
2379
+ inline std::variant<nitro::NullType, RemoteButtonLayout> get_std__optional_std__variant_nitro__NullType__RemoteButtonLayout__(const std::optional<std::variant<nitro::NullType, RemoteButtonLayout>>& optional) noexcept {
2241
2380
  return optional.value();
2242
2381
  }
2243
2382
 
2244
- // pragma MARK: std::optional<std::vector<NotificationButton>>
2383
+ // pragma MARK: std::optional<NitroAndroidUpdateOptions>
2245
2384
  /**
2246
- * Specialized version of `std::optional<std::vector<NotificationButton>>`.
2385
+ * Specialized version of `std::optional<NitroAndroidUpdateOptions>`.
2247
2386
  */
2248
- using std__optional_std__vector_NotificationButton__ = std::optional<std::vector<NotificationButton>>;
2249
- inline std::optional<std::vector<NotificationButton>> create_std__optional_std__vector_NotificationButton__(const std::vector<NotificationButton>& value) noexcept {
2250
- return std::optional<std::vector<NotificationButton>>(value);
2387
+ using std__optional_NitroAndroidUpdateOptions_ = std::optional<NitroAndroidUpdateOptions>;
2388
+ inline std::optional<NitroAndroidUpdateOptions> create_std__optional_NitroAndroidUpdateOptions_(const NitroAndroidUpdateOptions& value) noexcept {
2389
+ return std::optional<NitroAndroidUpdateOptions>(value);
2251
2390
  }
2252
- inline bool has_value_std__optional_std__vector_NotificationButton__(const std::optional<std::vector<NotificationButton>>& optional) noexcept {
2391
+ inline bool has_value_std__optional_NitroAndroidUpdateOptions_(const std::optional<NitroAndroidUpdateOptions>& optional) noexcept {
2253
2392
  return optional.has_value();
2254
2393
  }
2255
- inline std::vector<NotificationButton> get_std__optional_std__vector_NotificationButton__(const std::optional<std::vector<NotificationButton>>& optional) noexcept {
2394
+ inline NitroAndroidUpdateOptions get_std__optional_NitroAndroidUpdateOptions_(const std::optional<NitroAndroidUpdateOptions>& optional) noexcept {
2256
2395
  return optional.value();
2257
2396
  }
2258
2397
 
2259
- // pragma MARK: std::vector<NotificationButton>
2398
+ // pragma MARK: std::vector<double>
2260
2399
  /**
2261
- * Specialized version of `std::vector<NotificationButton>`.
2400
+ * Specialized version of `std::vector<double>`.
2262
2401
  */
2263
- using std__vector_NotificationButton_ = std::vector<NotificationButton>;
2264
- inline std::vector<NotificationButton> create_std__vector_NotificationButton_(size_t size) noexcept {
2265
- std::vector<NotificationButton> vector;
2402
+ using std__vector_double_ = std::vector<double>;
2403
+ inline std::vector<double> create_std__vector_double_(size_t size) noexcept {
2404
+ std::vector<double> vector;
2266
2405
  vector.reserve(size);
2267
2406
  return vector;
2268
2407
  }
2269
2408
 
2270
- // pragma MARK: std::optional<NitroIOSUpdateOptions>
2271
- /**
2272
- * Specialized version of `std::optional<NitroIOSUpdateOptions>`.
2273
- */
2274
- using std__optional_NitroIOSUpdateOptions_ = std::optional<NitroIOSUpdateOptions>;
2275
- inline std::optional<NitroIOSUpdateOptions> create_std__optional_NitroIOSUpdateOptions_(const NitroIOSUpdateOptions& value) noexcept {
2276
- return std::optional<NitroIOSUpdateOptions>(value);
2277
- }
2278
- inline bool has_value_std__optional_NitroIOSUpdateOptions_(const std::optional<NitroIOSUpdateOptions>& optional) noexcept {
2279
- return optional.has_value();
2280
- }
2281
- inline NitroIOSUpdateOptions get_std__optional_NitroIOSUpdateOptions_(const std::optional<NitroIOSUpdateOptions>& optional) noexcept {
2282
- return optional.value();
2283
- }
2284
-
2285
2409
  // pragma MARK: std::optional<std::vector<double>>
2286
2410
  /**
2287
2411
  * Specialized version of `std::optional<std::vector<double>>`.
@@ -2297,13 +2421,13 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2297
2421
  return optional.value();
2298
2422
  }
2299
2423
 
2300
- // pragma MARK: std::vector<double>
2424
+ // pragma MARK: std::vector<CarPlayNowPlayingButton>
2301
2425
  /**
2302
- * Specialized version of `std::vector<double>`.
2426
+ * Specialized version of `std::vector<CarPlayNowPlayingButton>`.
2303
2427
  */
2304
- using std__vector_double_ = std::vector<double>;
2305
- inline std::vector<double> create_std__vector_double_(size_t size) noexcept {
2306
- std::vector<double> vector;
2428
+ using std__vector_CarPlayNowPlayingButton_ = std::vector<CarPlayNowPlayingButton>;
2429
+ inline std::vector<CarPlayNowPlayingButton> create_std__vector_CarPlayNowPlayingButton_(size_t size) noexcept {
2430
+ std::vector<CarPlayNowPlayingButton> vector;
2307
2431
  vector.reserve(size);
2308
2432
  return vector;
2309
2433
  }
@@ -2323,15 +2447,34 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2323
2447
  return optional.value();
2324
2448
  }
2325
2449
 
2326
- // pragma MARK: std::vector<CarPlayNowPlayingButton>
2450
+ // pragma MARK: std::optional<CarPlayPlayingIndicatorLocation>
2327
2451
  /**
2328
- * Specialized version of `std::vector<CarPlayNowPlayingButton>`.
2452
+ * Specialized version of `std::optional<CarPlayPlayingIndicatorLocation>`.
2329
2453
  */
2330
- using std__vector_CarPlayNowPlayingButton_ = std::vector<CarPlayNowPlayingButton>;
2331
- inline std::vector<CarPlayNowPlayingButton> create_std__vector_CarPlayNowPlayingButton_(size_t size) noexcept {
2332
- std::vector<CarPlayNowPlayingButton> vector;
2333
- vector.reserve(size);
2334
- return vector;
2454
+ using std__optional_CarPlayPlayingIndicatorLocation_ = std::optional<CarPlayPlayingIndicatorLocation>;
2455
+ inline std::optional<CarPlayPlayingIndicatorLocation> create_std__optional_CarPlayPlayingIndicatorLocation_(const CarPlayPlayingIndicatorLocation& value) noexcept {
2456
+ return std::optional<CarPlayPlayingIndicatorLocation>(value);
2457
+ }
2458
+ inline bool has_value_std__optional_CarPlayPlayingIndicatorLocation_(const std::optional<CarPlayPlayingIndicatorLocation>& optional) noexcept {
2459
+ return optional.has_value();
2460
+ }
2461
+ inline CarPlayPlayingIndicatorLocation get_std__optional_CarPlayPlayingIndicatorLocation_(const std::optional<CarPlayPlayingIndicatorLocation>& optional) noexcept {
2462
+ return optional.value();
2463
+ }
2464
+
2465
+ // pragma MARK: std::optional<NitroIOSUpdateOptions>
2466
+ /**
2467
+ * Specialized version of `std::optional<NitroIOSUpdateOptions>`.
2468
+ */
2469
+ using std__optional_NitroIOSUpdateOptions_ = std::optional<NitroIOSUpdateOptions>;
2470
+ inline std::optional<NitroIOSUpdateOptions> create_std__optional_NitroIOSUpdateOptions_(const NitroIOSUpdateOptions& value) noexcept {
2471
+ return std::optional<NitroIOSUpdateOptions>(value);
2472
+ }
2473
+ inline bool has_value_std__optional_NitroIOSUpdateOptions_(const std::optional<NitroIOSUpdateOptions>& optional) noexcept {
2474
+ return optional.has_value();
2475
+ }
2476
+ inline NitroIOSUpdateOptions get_std__optional_NitroIOSUpdateOptions_(const std::optional<NitroIOSUpdateOptions>& optional) noexcept {
2477
+ return optional.value();
2335
2478
  }
2336
2479
 
2337
2480
  // pragma MARK: std::optional<PlayerCapabilities>
@@ -2349,62 +2492,78 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2349
2492
  return optional.value();
2350
2493
  }
2351
2494
 
2352
- // pragma MARK: std::optional<std::variant<bool, FavoriteConfig>>
2495
+ // pragma MARK: std::optional<NativeUpdateOptions>
2353
2496
  /**
2354
- * Specialized version of `std::optional<std::variant<bool, FavoriteConfig>>`.
2497
+ * Specialized version of `std::optional<NativeUpdateOptions>`.
2355
2498
  */
2356
- using std__optional_std__variant_bool__FavoriteConfig__ = std::optional<std::variant<bool, FavoriteConfig>>;
2357
- inline std::optional<std::variant<bool, FavoriteConfig>> create_std__optional_std__variant_bool__FavoriteConfig__(const std::variant<bool, FavoriteConfig>& value) noexcept {
2358
- return std::optional<std::variant<bool, FavoriteConfig>>(value);
2499
+ using std__optional_NativeUpdateOptions_ = std::optional<NativeUpdateOptions>;
2500
+ inline std::optional<NativeUpdateOptions> create_std__optional_NativeUpdateOptions_(const NativeUpdateOptions& value) noexcept {
2501
+ return std::optional<NativeUpdateOptions>(value);
2359
2502
  }
2360
- inline bool has_value_std__optional_std__variant_bool__FavoriteConfig__(const std::optional<std::variant<bool, FavoriteConfig>>& optional) noexcept {
2503
+ inline bool has_value_std__optional_NativeUpdateOptions_(const std::optional<NativeUpdateOptions>& optional) noexcept {
2361
2504
  return optional.has_value();
2362
2505
  }
2363
- inline std::variant<bool, FavoriteConfig> get_std__optional_std__variant_bool__FavoriteConfig__(const std::optional<std::variant<bool, FavoriteConfig>>& optional) noexcept {
2506
+ inline NativeUpdateOptions get_std__optional_NativeUpdateOptions_(const std::optional<NativeUpdateOptions>& optional) noexcept {
2364
2507
  return optional.value();
2365
2508
  }
2366
2509
 
2367
- // pragma MARK: std::variant<bool, FavoriteConfig>
2510
+ // pragma MARK: std::optional<NowPlayingUpdate>
2368
2511
  /**
2369
- * Wrapper struct for `std::variant<bool, FavoriteConfig>`.
2370
- * std::variant cannot be used in Swift because of a Swift bug.
2371
- * Not even specializing it works. So we create a wrapper struct.
2512
+ * Specialized version of `std::optional<NowPlayingUpdate>`.
2372
2513
  */
2373
- struct std__variant_bool__FavoriteConfig_ final {
2374
- std::variant<bool, FavoriteConfig> variant;
2375
- std__variant_bool__FavoriteConfig_(std::variant<bool, FavoriteConfig> variant): variant(variant) { }
2376
- operator std::variant<bool, FavoriteConfig>() const noexcept {
2377
- return variant;
2378
- }
2379
- inline size_t index() const noexcept {
2380
- return variant.index();
2381
- }
2382
- inline bool get_0() const noexcept {
2383
- return std::get<0>(variant);
2384
- }
2385
- inline FavoriteConfig get_1() const noexcept {
2386
- return std::get<1>(variant);
2387
- }
2388
- };
2389
- inline std__variant_bool__FavoriteConfig_ create_std__variant_bool__FavoriteConfig_(bool value) noexcept {
2390
- return std__variant_bool__FavoriteConfig_(value);
2514
+ using std__optional_NowPlayingUpdate_ = std::optional<NowPlayingUpdate>;
2515
+ inline std::optional<NowPlayingUpdate> create_std__optional_NowPlayingUpdate_(const NowPlayingUpdate& value) noexcept {
2516
+ return std::optional<NowPlayingUpdate>(value);
2517
+ }
2518
+ inline bool has_value_std__optional_NowPlayingUpdate_(const std::optional<NowPlayingUpdate>& optional) noexcept {
2519
+ return optional.has_value();
2391
2520
  }
2392
- inline std__variant_bool__FavoriteConfig_ create_std__variant_bool__FavoriteConfig_(const FavoriteConfig& value) noexcept {
2393
- return std__variant_bool__FavoriteConfig_(value);
2521
+ inline NowPlayingUpdate get_std__optional_NowPlayingUpdate_(const std::optional<NowPlayingUpdate>& optional) noexcept {
2522
+ return optional.value();
2394
2523
  }
2395
2524
 
2396
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>
2525
+ // pragma MARK: std::optional<TimedMetadata>
2397
2526
  /**
2398
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& / * params * /)>>`.
2527
+ * Specialized version of `std::optional<TimedMetadata>`.
2399
2528
  */
2400
- using std__optional_std__function_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____const_FormatNowPlayingParams_____params______ = std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>;
2401
- inline std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____const_FormatNowPlayingParams_____params______(const std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>& value) noexcept {
2402
- return std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>(value);
2529
+ using std__optional_TimedMetadata_ = std::optional<TimedMetadata>;
2530
+ inline std::optional<TimedMetadata> create_std__optional_TimedMetadata_(const TimedMetadata& value) noexcept {
2531
+ return std::optional<TimedMetadata>(value);
2403
2532
  }
2404
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____const_FormatNowPlayingParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>& optional) noexcept {
2533
+ inline bool has_value_std__optional_TimedMetadata_(const std::optional<TimedMetadata>& optional) noexcept {
2405
2534
  return optional.has_value();
2406
2535
  }
2407
- inline std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)> get_std__optional_std__function_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____const_FormatNowPlayingParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>& optional) noexcept {
2536
+ inline TimedMetadata get_std__optional_TimedMetadata_(const std::optional<TimedMetadata>& optional) noexcept {
2537
+ return optional.value();
2538
+ }
2539
+
2540
+ // pragma MARK: std::optional<StallReason>
2541
+ /**
2542
+ * Specialized version of `std::optional<StallReason>`.
2543
+ */
2544
+ using std__optional_StallReason_ = std::optional<StallReason>;
2545
+ inline std::optional<StallReason> create_std__optional_StallReason_(const StallReason& value) noexcept {
2546
+ return std::optional<StallReason>(value);
2547
+ }
2548
+ inline bool has_value_std__optional_StallReason_(const std::optional<StallReason>& optional) noexcept {
2549
+ return optional.has_value();
2550
+ }
2551
+ inline StallReason get_std__optional_StallReason_(const std::optional<StallReason>& optional) noexcept {
2552
+ return optional.value();
2553
+ }
2554
+
2555
+ // pragma MARK: std::optional<PlaybackError>
2556
+ /**
2557
+ * Specialized version of `std::optional<PlaybackError>`.
2558
+ */
2559
+ using std__optional_PlaybackError_ = std::optional<PlaybackError>;
2560
+ inline std::optional<PlaybackError> create_std__optional_PlaybackError_(const PlaybackError& value) noexcept {
2561
+ return std::optional<PlaybackError>(value);
2562
+ }
2563
+ inline bool has_value_std__optional_PlaybackError_(const std::optional<PlaybackError>& optional) noexcept {
2564
+ return optional.has_value();
2565
+ }
2566
+ inline PlaybackError get_std__optional_PlaybackError_(const std::optional<PlaybackError>& optional) noexcept {
2408
2567
  return optional.value();
2409
2568
  }
2410
2569
 
@@ -2465,63 +2624,18 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2465
2624
  return Func_void_std__optional_NowPlayingUpdate__Wrapper(std::move(value));
2466
2625
  }
2467
2626
 
2468
- // pragma MARK: std::optional<NowPlayingUpdate>
2469
- /**
2470
- * Specialized version of `std::optional<NowPlayingUpdate>`.
2471
- */
2472
- using std__optional_NowPlayingUpdate_ = std::optional<NowPlayingUpdate>;
2473
- inline std::optional<NowPlayingUpdate> create_std__optional_NowPlayingUpdate_(const NowPlayingUpdate& value) noexcept {
2474
- return std::optional<NowPlayingUpdate>(value);
2475
- }
2476
- inline bool has_value_std__optional_NowPlayingUpdate_(const std::optional<NowPlayingUpdate>& optional) noexcept {
2477
- return optional.has_value();
2478
- }
2479
- inline NowPlayingUpdate get_std__optional_NowPlayingUpdate_(const std::optional<NowPlayingUpdate>& optional) noexcept {
2480
- return optional.value();
2481
- }
2482
-
2483
- // pragma MARK: std::optional<TimedMetadata>
2484
- /**
2485
- * Specialized version of `std::optional<TimedMetadata>`.
2486
- */
2487
- using std__optional_TimedMetadata_ = std::optional<TimedMetadata>;
2488
- inline std::optional<TimedMetadata> create_std__optional_TimedMetadata_(const TimedMetadata& value) noexcept {
2489
- return std::optional<TimedMetadata>(value);
2490
- }
2491
- inline bool has_value_std__optional_TimedMetadata_(const std::optional<TimedMetadata>& optional) noexcept {
2492
- return optional.has_value();
2493
- }
2494
- inline TimedMetadata get_std__optional_TimedMetadata_(const std::optional<TimedMetadata>& optional) noexcept {
2495
- return optional.value();
2496
- }
2497
-
2498
- // pragma MARK: std::optional<StallReason>
2499
- /**
2500
- * Specialized version of `std::optional<StallReason>`.
2501
- */
2502
- using std__optional_StallReason_ = std::optional<StallReason>;
2503
- inline std::optional<StallReason> create_std__optional_StallReason_(const StallReason& value) noexcept {
2504
- return std::optional<StallReason>(value);
2505
- }
2506
- inline bool has_value_std__optional_StallReason_(const std::optional<StallReason>& optional) noexcept {
2507
- return optional.has_value();
2508
- }
2509
- inline StallReason get_std__optional_StallReason_(const std::optional<StallReason>& optional) noexcept {
2510
- return optional.value();
2511
- }
2512
-
2513
- // pragma MARK: std::optional<PlaybackError>
2627
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>
2514
2628
  /**
2515
- * Specialized version of `std::optional<PlaybackError>`.
2629
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& / * params * /)>>`.
2516
2630
  */
2517
- using std__optional_PlaybackError_ = std::optional<PlaybackError>;
2518
- inline std::optional<PlaybackError> create_std__optional_PlaybackError_(const PlaybackError& value) noexcept {
2519
- return std::optional<PlaybackError>(value);
2631
+ using std__optional_std__function_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____const_FormatNowPlayingParams_____params______ = std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>;
2632
+ inline std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____const_FormatNowPlayingParams_____params______(const std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>& value) noexcept {
2633
+ return std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>(value);
2520
2634
  }
2521
- inline bool has_value_std__optional_PlaybackError_(const std::optional<PlaybackError>& optional) noexcept {
2635
+ inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____const_FormatNowPlayingParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>& optional) noexcept {
2522
2636
  return optional.has_value();
2523
2637
  }
2524
- inline PlaybackError get_std__optional_PlaybackError_(const std::optional<PlaybackError>& optional) noexcept {
2638
+ inline std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)> get_std__optional_std__function_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____const_FormatNowPlayingParams_____params______(const std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>& optional) noexcept {
2525
2639
  return optional.value();
2526
2640
  }
2527
2641
 
@@ -2540,21 +2654,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2540
2654
  return optional.value();
2541
2655
  }
2542
2656
 
2543
- // pragma MARK: std::optional<std::variant<bool, RetryConfig>>
2544
- /**
2545
- * Specialized version of `std::optional<std::variant<bool, RetryConfig>>`.
2546
- */
2547
- using std__optional_std__variant_bool__RetryConfig__ = std::optional<std::variant<bool, RetryConfig>>;
2548
- inline std::optional<std::variant<bool, RetryConfig>> create_std__optional_std__variant_bool__RetryConfig__(const std::variant<bool, RetryConfig>& value) noexcept {
2549
- return std::optional<std::variant<bool, RetryConfig>>(value);
2550
- }
2551
- inline bool has_value_std__optional_std__variant_bool__RetryConfig__(const std::optional<std::variant<bool, RetryConfig>>& optional) noexcept {
2552
- return optional.has_value();
2553
- }
2554
- inline std::variant<bool, RetryConfig> get_std__optional_std__variant_bool__RetryConfig__(const std::optional<std::variant<bool, RetryConfig>>& optional) noexcept {
2555
- return optional.value();
2556
- }
2557
-
2558
2657
  // pragma MARK: std::variant<bool, RetryConfig>
2559
2658
  /**
2560
2659
  * Wrapper struct for `std::variant<bool, RetryConfig>`.
@@ -2584,6 +2683,21 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2584
2683
  return std__variant_bool__RetryConfig_(value);
2585
2684
  }
2586
2685
 
2686
+ // pragma MARK: std::optional<std::variant<bool, RetryConfig>>
2687
+ /**
2688
+ * Specialized version of `std::optional<std::variant<bool, RetryConfig>>`.
2689
+ */
2690
+ using std__optional_std__variant_bool__RetryConfig__ = std::optional<std::variant<bool, RetryConfig>>;
2691
+ inline std::optional<std::variant<bool, RetryConfig>> create_std__optional_std__variant_bool__RetryConfig__(const std::variant<bool, RetryConfig>& value) noexcept {
2692
+ return std::optional<std::variant<bool, RetryConfig>>(value);
2693
+ }
2694
+ inline bool has_value_std__optional_std__variant_bool__RetryConfig__(const std::optional<std::variant<bool, RetryConfig>>& optional) noexcept {
2695
+ return optional.has_value();
2696
+ }
2697
+ inline std::variant<bool, RetryConfig> get_std__optional_std__variant_bool__RetryConfig__(const std::optional<std::variant<bool, RetryConfig>>& optional) noexcept {
2698
+ return optional.value();
2699
+ }
2700
+
2587
2701
  // pragma MARK: std::optional<AndroidOptions>
2588
2702
  /**
2589
2703
  * Specialized version of `std::optional<AndroidOptions>`.