react-native-audio-browser 0.1.1 → 0.2.0-next.1

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 (901) hide show
  1. package/AudioBrowser.podspec +1 -1
  2. package/README.md +180 -2
  3. package/android/build.gradle +10 -0
  4. package/android/gradle.properties +1 -1
  5. package/android/src/main/AndroidManifest.xml +15 -0
  6. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +401 -141
  7. package/android/src/main/java/com/audiobrowser/Callbacks.kt +4 -6
  8. package/android/src/main/java/com/audiobrowser/Service.kt +67 -18
  9. package/android/src/main/java/com/audiobrowser/browser/ArtworkResolutionRegistry.kt +37 -0
  10. package/android/src/main/java/com/audiobrowser/browser/BrowseArtworkRegistry.kt +34 -0
  11. package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +443 -178
  12. package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +300 -0
  13. package/android/src/main/java/com/audiobrowser/browser/JsonArtwork.kt +79 -0
  14. package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +41 -4
  15. package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +43 -0
  16. package/android/src/main/java/com/audiobrowser/browser/TrackLoadHandler.kt +4 -4
  17. package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +35 -0
  18. package/android/src/main/java/com/audiobrowser/http/RequestConfigBuilder.kt +109 -97
  19. package/android/src/main/java/com/audiobrowser/model/PlaybackMetadata.kt +6 -10
  20. package/android/src/main/java/com/audiobrowser/model/PlayerSetupOptions.kt +40 -8
  21. package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +31 -37
  22. package/android/src/main/java/com/audiobrowser/player/AutomaticBufferManager.kt +4 -1
  23. package/android/src/main/java/com/audiobrowser/player/CapabilityControls.kt +119 -0
  24. package/android/src/main/java/com/audiobrowser/player/DynamicLoadControl.kt +18 -1
  25. package/android/src/main/java/com/audiobrowser/player/EqualizerController.kt +153 -0
  26. package/android/src/main/java/com/audiobrowser/player/InterceptingPlayer.kt +141 -0
  27. package/android/src/main/java/com/audiobrowser/player/MediaFactory.kt +15 -3
  28. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +415 -131
  29. package/android/src/main/java/com/audiobrowser/player/MediaSessionCommandManager.kt +154 -276
  30. package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +348 -0
  31. package/android/src/main/java/com/audiobrowser/player/PlaybackErrorClassifier.kt +129 -0
  32. package/android/src/main/java/com/audiobrowser/player/PlaybackStateMachine.kt +85 -0
  33. package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +27 -5
  34. package/android/src/main/java/com/audiobrowser/player/PlaybackTimer.kt +56 -0
  35. package/android/src/main/java/com/audiobrowser/player/Player.kt +452 -576
  36. package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +20 -0
  37. package/android/src/main/java/com/audiobrowser/player/PlayerEngineFactory.kt +130 -0
  38. package/android/src/main/java/com/audiobrowser/player/PlayerListener.kt +190 -67
  39. package/android/src/main/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicy.kt +117 -53
  40. package/android/src/main/java/com/audiobrowser/player/SleepTimer.kt +37 -3
  41. package/android/src/main/java/com/audiobrowser/player/SleepTimerManager.kt +80 -0
  42. package/android/src/main/java/com/audiobrowser/player/StuckRecoveryPolicy.kt +50 -0
  43. package/android/src/main/java/com/audiobrowser/player/TransformingDataSource.kt +84 -40
  44. package/android/src/main/java/com/audiobrowser/player/VolumeFader.kt +81 -0
  45. package/android/src/main/java/com/audiobrowser/tls/AiaCertChaser.kt +141 -0
  46. package/android/src/main/java/com/audiobrowser/tls/AiaChasingTrustManager.kt +37 -0
  47. package/android/src/main/java/com/audiobrowser/tls/AiaTls.kt +41 -0
  48. package/android/src/main/java/com/audiobrowser/tls/CachingCertificateFetcher.kt +209 -0
  49. package/android/src/main/java/com/audiobrowser/util/ArtworkContentProvider.kt +161 -0
  50. package/android/src/main/java/com/audiobrowser/util/ArtworkUris.kt +28 -0
  51. package/android/src/main/java/com/audiobrowser/util/ArtworkVariant.kt +26 -0
  52. package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +24 -0
  53. package/android/src/main/java/com/audiobrowser/util/CoilArtworkLoader.kt +49 -0
  54. package/android/src/main/java/com/audiobrowser/util/CoilArtworkLoaderHolder.kt +36 -0
  55. package/android/src/main/java/com/audiobrowser/util/CoilBitmapLoader.kt +23 -300
  56. package/android/src/main/java/com/audiobrowser/util/EqualizerManager.kt +13 -23
  57. package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +2 -2
  58. package/android/src/main/java/com/audiobrowser/util/MetadataAdapter.kt +4 -3
  59. package/android/src/main/java/com/audiobrowser/util/OutputMonitor.kt +211 -0
  60. package/android/src/main/java/com/audiobrowser/util/OutputSwitcher.kt +58 -0
  61. package/android/src/main/java/com/audiobrowser/util/PlayingStateFactory.kt +2 -1
  62. package/android/src/main/java/com/audiobrowser/util/RatingFavorites.kt +14 -0
  63. package/android/src/main/java/com/audiobrowser/util/SvgArtworkRenderer.kt +6 -111
  64. package/android/src/main/java/com/audiobrowser/util/SystemVolumeMonitor.kt +22 -8
  65. package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +111 -80
  66. package/android/src/main/res/values/strings.xml +4 -0
  67. package/android/src/test/java/com/audiobrowser/TestFixtures.kt +166 -0
  68. package/android/src/test/java/com/audiobrowser/browser/ArtworkResolutionRegistryTest.kt +46 -0
  69. package/android/src/test/java/com/audiobrowser/browser/BrowseArtworkRegistryTest.kt +39 -0
  70. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerBuildApiRequestTest.kt +114 -0
  71. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerLayerResolutionTest.kt +141 -0
  72. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +4 -0
  73. package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +177 -0
  74. package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +54 -0
  75. package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +96 -0
  76. package/android/src/test/java/com/audiobrowser/browser/SimpleRouterTest.kt +1 -2
  77. package/android/src/test/java/com/audiobrowser/http/RequestConfigBuilderTest.kt +72 -0
  78. package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +159 -0
  79. package/android/src/test/java/com/audiobrowser/player/DynamicLoadControlTest.kt +56 -0
  80. package/android/src/test/java/com/audiobrowser/player/EqualizerControllerTest.kt +216 -0
  81. package/android/src/test/java/com/audiobrowser/player/NowPlayingUpdaterTest.kt +442 -0
  82. package/android/src/test/java/com/audiobrowser/player/PlaybackErrorClassifierTest.kt +191 -0
  83. package/android/src/test/java/com/audiobrowser/player/PlaybackStateMachineTest.kt +198 -0
  84. package/android/src/test/java/com/audiobrowser/player/PlaybackTimerTest.kt +137 -0
  85. package/android/src/test/java/com/audiobrowser/player/PlayerEngineFactoryTest.kt +36 -0
  86. package/android/src/test/java/com/audiobrowser/player/RetryLoadErrorHandlingPolicyTest.kt +268 -0
  87. package/android/src/test/java/com/audiobrowser/player/SessionErrorMaskTest.kt +68 -0
  88. package/android/src/test/java/com/audiobrowser/player/StuckRecoveryPolicyTest.kt +40 -0
  89. package/android/src/test/java/com/audiobrowser/player/TransformingDataSourceTest.kt +193 -0
  90. package/android/src/test/java/com/audiobrowser/tls/AiaCertChaserTest.kt +107 -0
  91. package/android/src/test/java/com/audiobrowser/tls/AiaChasingTrustManagerTest.kt +73 -0
  92. package/android/src/test/java/com/audiobrowser/tls/CachingCertificateFetcherTest.kt +75 -0
  93. package/android/src/test/java/com/audiobrowser/tls/CertFixtures.kt +18 -0
  94. package/android/src/test/java/com/audiobrowser/util/ArtworkContentProviderTest.kt +163 -0
  95. package/android/src/test/java/com/audiobrowser/util/ArtworkUrisTest.kt +34 -0
  96. package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +28 -0
  97. package/android/src/test/java/com/audiobrowser/util/CoilArtworkLoaderHolderTest.kt +53 -0
  98. package/android/src/test/java/com/audiobrowser/util/CoilArtworkLoaderTest.kt +58 -0
  99. package/android/src/test/java/com/audiobrowser/util/FakeImageLoader.kt +57 -0
  100. package/android/src/test/java/com/audiobrowser/util/PlayingStateFactoryTest.kt +40 -0
  101. package/android/src/test/java/com/audiobrowser/util/RatingFavoritesTest.kt +34 -0
  102. package/android/src/test/java/com/audiobrowser/util/TrackFactoryBrowseTest.kt +50 -0
  103. package/android/src/test/java/com/audiobrowser/util/TrackFactoryMediaIdTest.kt +63 -0
  104. package/android/src/test/java/com/audiobrowser/util/TrackFactoryRatingTest.kt +35 -0
  105. package/android/src/test/resources/certs/isrg-root-x1.pem +31 -0
  106. package/android/src/test/resources/certs/letsencrypt-r13.der +0 -0
  107. package/android/src/test/resources/certs/letsencrypt-r13.pem +29 -0
  108. package/android/src/test/resources/certs/stationplaylist-leaf.pem +34 -0
  109. package/ios/Browser/BrowserConfig.swift +41 -11
  110. package/ios/Browser/BrowserManager+URLResolution.swift +213 -93
  111. package/ios/Browser/BrowserManager.swift +303 -110
  112. package/ios/Browser/BrowserPathHelper.swift +32 -3
  113. package/ios/Browser/JsonModels.swift +287 -66
  114. package/ios/Browser/MediaResolveComposer.swift +114 -0
  115. package/ios/Browser/SearchDrillIn.swift +44 -0
  116. package/ios/Browser/SectionScope.swift +35 -0
  117. package/ios/Browser/TabBarEntries.swift +15 -0
  118. package/ios/CarPlay/CPInterfaceController+Safe.swift +126 -0
  119. package/ios/CarPlay/CarPlayArtworkResolver.swift +6 -6
  120. package/ios/CarPlay/CarPlayController.swift +739 -149
  121. package/ios/CarPlay/CarPlayImageLoader.swift +57 -8
  122. package/ios/CarPlay/CarPlayListItemFactory.swift +44 -35
  123. package/ios/CarPlay/CarPlayNowPlayingManager.swift +180 -36
  124. package/ios/CarPlay/ImageRowItem+CarPlay.swift +19 -0
  125. package/ios/CarPlay/RNABAudioBrowser.h +15 -10
  126. package/ios/CarPlay/RNABAudioBrowser.m +15 -14
  127. package/ios/CarPlay/RNABCarPlaySceneDelegate.m +2 -0
  128. package/ios/CarPlay/RNABMediaAddHandler.swift +75 -0
  129. package/ios/CarPlay/RNABMediaAffinityHandler.swift +69 -0
  130. package/ios/CarPlay/RNABMediaIntentHandler.swift +53 -43
  131. package/ios/Extension/Capability+RemoteCommand.swift +7 -9
  132. package/ios/Extension/ChapterMetadata+AVFoundation.swift +1 -1
  133. package/ios/Extension/NavigationError+Conversion.swift +8 -1
  134. package/ios/Extension/PlayerCapabilities+Favorite.swift +20 -0
  135. package/ios/Extension/RequestConfig+Copying.swift +31 -0
  136. package/ios/Extension/ResolvedTrack+Copying.swift +10 -4
  137. package/ios/Extension/TimedMetadata+AVFoundation.swift +1 -1
  138. package/ios/Extension/Track+AVPlayer.swift +4 -4
  139. package/ios/Extension/Track+Copying.swift +9 -3
  140. package/ios/Extension/TrackMetadata+AVFoundation.swift +1 -1
  141. package/ios/Extension/Variant+Artwork.swift +49 -0
  142. package/ios/HybridAudioBrowser.swift +750 -173
  143. package/ios/Model/NitroTypeStubs.swift +299 -224
  144. package/ios/Model/PlayerUpdateOptions.swift +23 -23
  145. package/ios/Model/RemoteCommand.swift +6 -6
  146. package/ios/Model/TrackPlayerError.swift +82 -18
  147. package/ios/NowPlayingInfo/NowPlayingInfoController.swift +99 -121
  148. package/ios/NowPlayingInfo/SilentAudioPrimer.swift +73 -0
  149. package/ios/Observer/PlayerItemNotificationObserver.swift +45 -5
  150. package/ios/Observer/PlayerItemPropertyObserver.swift +27 -4
  151. package/ios/Observer/PlayerTimeObserver.swift +3 -53
  152. package/ios/Option/SessionCategories.swift +33 -11
  153. package/ios/Player/AirPlayStallJudgement.swift +25 -0
  154. package/ios/Player/EndOfTrackJudgement.swift +32 -0
  155. package/ios/Player/LoadSeekCoordinator.swift +16 -1
  156. package/ios/Player/MediaIntentCriteria.swift +139 -0
  157. package/ios/Player/MediaLoader.swift +28 -10
  158. package/ios/Player/NowPlayingUpdater.swift +119 -26
  159. package/ios/Player/PersistedPlaybackState.swift +11 -0
  160. package/ios/Player/PlaybackCoordinator.swift +282 -51
  161. package/ios/Player/PlaybackCoordinatorCallbacks.swift +6 -1
  162. package/ios/Player/PlaybackEffectHandler.swift +19 -9
  163. package/ios/Player/PlaybackErrorHandler.swift +97 -13
  164. package/ios/Player/PlaybackStateMachine.swift +18 -13
  165. package/ios/Player/PlaybackStateStore.swift +27 -0
  166. package/ios/Player/PlaybackTimer.swift +61 -0
  167. package/ios/Player/PlayingStateManager.swift +3 -2
  168. package/ios/Player/QueueManager.swift +67 -61
  169. package/ios/Player/RetryManager.swift +97 -21
  170. package/ios/Player/SleepTimerHandling.swift +8 -0
  171. package/ios/Player/SleepTimerManager.swift +38 -5
  172. package/ios/Player/VolumeFader.swift +77 -0
  173. package/ios/RemoteCommand/RemoteCommandController.swift +31 -15
  174. package/ios/Tests/AirPlayStallJudgementTests.swift +52 -0
  175. package/ios/Tests/BrowserPathHelperTests.swift +28 -0
  176. package/ios/Tests/CarPlayArtworkResolverTests.swift +39 -39
  177. package/ios/Tests/ChapterMetadataAVFoundationTests.swift +2 -2
  178. package/ios/Tests/EndOfTrackJudgementTests.swift +35 -0
  179. package/ios/Tests/JsonModelsTests.swift +58 -0
  180. package/ios/Tests/LoadSeekCoordinatorTests.swift +38 -7
  181. package/ios/Tests/MediaIntentCriteriaTests.swift +170 -0
  182. package/ios/Tests/MediaLoaderAssetOptionsTests.swift +46 -0
  183. package/ios/Tests/MediaLoaderTests.swift +23 -8
  184. package/ios/Tests/MediaResolveTests.swift +126 -0
  185. package/ios/Tests/OnceValueTests.swift +79 -0
  186. package/ios/Tests/PlaybackCoordinatorTests.swift +784 -13
  187. package/ios/Tests/PlaybackErrorHandlerTests.swift +380 -46
  188. package/ios/Tests/PlaybackStateMachineTests.swift +33 -8
  189. package/ios/Tests/PlaybackStateStoreTests.swift +48 -0
  190. package/ios/Tests/PlaybackTimerTests.swift +55 -0
  191. package/ios/Tests/PlayingStateManagerTests.swift +57 -0
  192. package/ios/Tests/QueueManagerTests.swift +149 -18
  193. package/ios/Tests/ResolvedTrackCopyingTests.swift +15 -8
  194. package/ios/Tests/RetryManagerTests.swift +89 -0
  195. package/ios/Tests/SearchDrillInTests.swift +63 -0
  196. package/ios/Tests/SectionScopeTests.swift +82 -0
  197. package/ios/Tests/SleepTimerManagerTests.swift +104 -0
  198. package/ios/Tests/Support/TestTypes.swift +61 -20
  199. package/ios/Tests/TabBarEntriesTests.swift +71 -0
  200. package/ios/Tests/TrackSelectorTests.swift +15 -15
  201. package/ios/TrackPlayer.swift +380 -58
  202. package/ios/TrackPlayerCallbacks.swift +0 -6
  203. package/ios/TrackSelector.swift +5 -5
  204. package/ios/Util/ArtworkImageFetcher.swift +4 -2
  205. package/ios/Util/NetworkMonitor.swift +7 -3
  206. package/ios/Util/OnceValue.swift +34 -0
  207. package/lib/commonjs/features/browser-config.js +227 -0
  208. package/lib/commonjs/features/browser-config.js.map +1 -0
  209. package/lib/commonjs/features/browser.js +59 -158
  210. package/lib/commonjs/features/browser.js.map +1 -1
  211. package/lib/commonjs/features/carConnection.js +42 -0
  212. package/lib/commonjs/features/carConnection.js.map +1 -0
  213. package/lib/commonjs/features/errors.js +34 -2
  214. package/lib/commonjs/features/errors.js.map +1 -1
  215. package/lib/commonjs/features/gate.js +149 -0
  216. package/lib/commonjs/features/gate.js.map +1 -0
  217. package/lib/commonjs/features/index.js +22 -0
  218. package/lib/commonjs/features/index.js.map +1 -1
  219. package/lib/commonjs/features/metadata.js.map +1 -1
  220. package/lib/commonjs/features/nowPlaying.js +35 -0
  221. package/lib/commonjs/features/nowPlaying.js.map +1 -1
  222. package/lib/commonjs/features/output.js +37 -23
  223. package/lib/commonjs/features/output.js.map +1 -1
  224. package/lib/commonjs/features/playback/controls.js +9 -0
  225. package/lib/commonjs/features/playback/controls.js.map +1 -1
  226. package/lib/commonjs/features/playback/index.js +11 -0
  227. package/lib/commonjs/features/playback/index.js.map +1 -1
  228. package/lib/commonjs/features/playback/progress.js +28 -12
  229. package/lib/commonjs/features/playback/progress.js.map +1 -1
  230. package/lib/commonjs/features/playback/trackPlaybackTime.js +92 -0
  231. package/lib/commonjs/features/playback/trackPlaybackTime.js.map +1 -0
  232. package/lib/commonjs/features/playback/volume.js +1 -1
  233. package/lib/commonjs/features/player/options.js +49 -13
  234. package/lib/commonjs/features/player/options.js.map +1 -1
  235. package/lib/commonjs/features/player/setup.js +249 -3
  236. package/lib/commonjs/features/player/setup.js.map +1 -1
  237. package/lib/commonjs/features/queue/queue.js +10 -3
  238. package/lib/commonjs/features/queue/queue.js.map +1 -1
  239. package/lib/commonjs/features/remoteControls.js +1 -12
  240. package/lib/commonjs/features/remoteControls.js.map +1 -1
  241. package/lib/commonjs/features/sleepTimer.js +9 -4
  242. package/lib/commonjs/features/sleepTimer.js.map +1 -1
  243. package/lib/commonjs/native.js +5 -0
  244. package/lib/commonjs/native.js.map +1 -1
  245. package/lib/commonjs/native.web.js +4 -1
  246. package/lib/commonjs/native.web.js.map +1 -1
  247. package/lib/commonjs/utils/LazyNativeEmitter.js +0 -3
  248. package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
  249. package/lib/commonjs/utils/NativeUpdatedValue.js +0 -3
  250. package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -1
  251. package/lib/commonjs/utils/artwork.js +31 -0
  252. package/lib/commonjs/utils/artwork.js.map +1 -0
  253. package/lib/commonjs/web/NativeAudioBrowser.js +301 -124
  254. package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
  255. package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js +71 -0
  256. package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js.map +1 -0
  257. package/lib/commonjs/web/TrackPlayer/PlaybackTimer.js +34 -0
  258. package/lib/commonjs/web/TrackPlayer/PlaybackTimer.js.map +1 -0
  259. package/lib/commonjs/web/TrackPlayer/Player.js +90 -26
  260. package/lib/commonjs/web/TrackPlayer/Player.js.map +1 -1
  261. package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js +21 -0
  262. package/lib/commonjs/web/TrackPlayer/PlayingStateFactory.js.map +1 -0
  263. package/lib/commonjs/web/TrackPlayer/QueueManager.js +273 -0
  264. package/lib/commonjs/web/TrackPlayer/QueueManager.js.map +1 -0
  265. package/lib/commonjs/web/TrackPlayer/QueuePlayer.js +158 -0
  266. package/lib/commonjs/web/TrackPlayer/QueuePlayer.js.map +1 -0
  267. package/lib/commonjs/web/TrackPlayer/RepeatMode.js +1 -1
  268. package/lib/commonjs/web/TrackPlayer/RepeatMode.js.map +1 -1
  269. package/lib/commonjs/web/TrackPlayer/SleepTimer.js +34 -3
  270. package/lib/commonjs/web/TrackPlayer/SleepTimer.js.map +1 -1
  271. package/lib/commonjs/web/TrackPlayer/VolumeFader.js +75 -0
  272. package/lib/commonjs/web/TrackPlayer/VolumeFader.js.map +1 -0
  273. package/lib/commonjs/web/TrackPlayer/index.js +13 -5
  274. package/lib/commonjs/web/TrackPlayer/index.js.map +1 -1
  275. package/lib/commonjs/web/browser/BrowserManager.js +176 -50
  276. package/lib/commonjs/web/browser/BrowserManager.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 +11 -9
  280. package/lib/commonjs/web/browser/SearchManager.js.map +1 -1
  281. package/lib/commonjs/web/browser/assertBrowsePageShape.js +22 -0
  282. package/lib/commonjs/web/browser/assertBrowsePageShape.js.map +1 -0
  283. package/lib/commonjs/web/browser/classifyTrackNavigation.js +41 -0
  284. package/lib/commonjs/web/browser/classifyTrackNavigation.js.map +1 -0
  285. package/lib/commonjs/web/browser/parseSearchResponse.js +20 -0
  286. package/lib/commonjs/web/browser/parseSearchResponse.js.map +1 -0
  287. package/lib/commonjs/web/http/HttpClient.js +4 -23
  288. package/lib/commonjs/web/http/HttpClient.js.map +1 -1
  289. package/lib/commonjs/web/http/RequestConfigBuilder.js +107 -58
  290. package/lib/commonjs/web/http/RequestConfigBuilder.js.map +1 -1
  291. package/lib/commonjs/web/playbackErrorKind.js +57 -0
  292. package/lib/commonjs/web/playbackErrorKind.js.map +1 -0
  293. package/lib/commonjs/web/player/MediaSessionManager.js +121 -0
  294. package/lib/commonjs/web/player/MediaSessionManager.js.map +1 -0
  295. package/lib/commonjs/web/player/NowPlayingManager.js +6 -5
  296. package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
  297. package/lib/commonjs/web/player/OptionsManager.js +9 -17
  298. package/lib/commonjs/web/player/OptionsManager.js.map +1 -1
  299. package/lib/commonjs/web/player/RemoteCommandController.js +96 -0
  300. package/lib/commonjs/web/player/RemoteCommandController.js.map +1 -0
  301. package/lib/module/features/browser-config.js +221 -0
  302. package/lib/module/features/browser-config.js.map +1 -0
  303. package/lib/module/features/browser.js +53 -156
  304. package/lib/module/features/browser.js.map +1 -1
  305. package/lib/module/features/carConnection.js +37 -0
  306. package/lib/module/features/carConnection.js.map +1 -0
  307. package/lib/module/features/errors.js +34 -2
  308. package/lib/module/features/errors.js.map +1 -1
  309. package/lib/module/features/gate.js +144 -0
  310. package/lib/module/features/gate.js.map +1 -0
  311. package/lib/module/features/index.js +2 -0
  312. package/lib/module/features/index.js.map +1 -1
  313. package/lib/module/features/metadata.js.map +1 -1
  314. package/lib/module/features/nowPlaying.js +33 -0
  315. package/lib/module/features/nowPlaying.js.map +1 -1
  316. package/lib/module/features/output.js +32 -19
  317. package/lib/module/features/output.js.map +1 -1
  318. package/lib/module/features/playback/controls.js +8 -0
  319. package/lib/module/features/playback/controls.js.map +1 -1
  320. package/lib/module/features/playback/index.js +1 -0
  321. package/lib/module/features/playback/index.js.map +1 -1
  322. package/lib/module/features/playback/progress.js +28 -12
  323. package/lib/module/features/playback/progress.js.map +1 -1
  324. package/lib/module/features/playback/trackPlaybackTime.js +88 -0
  325. package/lib/module/features/playback/trackPlaybackTime.js.map +1 -0
  326. package/lib/module/features/playback/volume.js +1 -1
  327. package/lib/module/features/player/options.js +48 -13
  328. package/lib/module/features/player/options.js.map +1 -1
  329. package/lib/module/features/player/setup.js +249 -3
  330. package/lib/module/features/player/setup.js.map +1 -1
  331. package/lib/module/features/queue/queue.js +10 -3
  332. package/lib/module/features/queue/queue.js.map +1 -1
  333. package/lib/module/features/remoteControls.js +0 -11
  334. package/lib/module/features/remoteControls.js.map +1 -1
  335. package/lib/module/features/sleepTimer.js +9 -4
  336. package/lib/module/features/sleepTimer.js.map +1 -1
  337. package/lib/module/native.js +5 -0
  338. package/lib/module/native.js.map +1 -1
  339. package/lib/module/native.web.js +4 -1
  340. package/lib/module/native.web.js.map +1 -1
  341. package/lib/module/utils/LazyNativeEmitter.js +0 -3
  342. package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
  343. package/lib/module/utils/NativeUpdatedValue.js +0 -3
  344. package/lib/module/utils/NativeUpdatedValue.js.map +1 -1
  345. package/lib/module/utils/artwork.js +26 -0
  346. package/lib/module/utils/artwork.js.map +1 -0
  347. package/lib/module/web/NativeAudioBrowser.js +302 -125
  348. package/lib/module/web/NativeAudioBrowser.js.map +1 -1
  349. package/lib/module/web/TrackPlayer/PlaybackStateMachine.js +67 -0
  350. package/lib/module/web/TrackPlayer/PlaybackStateMachine.js.map +1 -0
  351. package/lib/module/web/TrackPlayer/PlaybackTimer.js +29 -0
  352. package/lib/module/web/TrackPlayer/PlaybackTimer.js.map +1 -0
  353. package/lib/module/web/TrackPlayer/Player.js +90 -26
  354. package/lib/module/web/TrackPlayer/Player.js.map +1 -1
  355. package/lib/module/web/TrackPlayer/PlayingStateFactory.js +17 -0
  356. package/lib/module/web/TrackPlayer/PlayingStateFactory.js.map +1 -0
  357. package/lib/module/web/TrackPlayer/QueueManager.js +269 -0
  358. package/lib/module/web/TrackPlayer/QueueManager.js.map +1 -0
  359. package/lib/module/web/TrackPlayer/QueuePlayer.js +154 -0
  360. package/lib/module/web/TrackPlayer/QueuePlayer.js.map +1 -0
  361. package/lib/module/web/TrackPlayer/RepeatMode.js +1 -1
  362. package/lib/module/web/TrackPlayer/RepeatMode.js.map +1 -1
  363. package/lib/module/web/TrackPlayer/SleepTimer.js +34 -3
  364. package/lib/module/web/TrackPlayer/SleepTimer.js.map +1 -1
  365. package/lib/module/web/TrackPlayer/VolumeFader.js +70 -0
  366. package/lib/module/web/TrackPlayer/VolumeFader.js.map +1 -0
  367. package/lib/module/web/TrackPlayer/index.js +2 -1
  368. package/lib/module/web/TrackPlayer/index.js.map +1 -1
  369. package/lib/module/web/browser/BrowserManager.js +176 -50
  370. package/lib/module/web/browser/BrowserManager.js.map +1 -1
  371. package/lib/module/web/browser/NavigationErrorManager.js +3 -1
  372. package/lib/module/web/browser/NavigationErrorManager.js.map +1 -1
  373. package/lib/module/web/browser/SearchManager.js +11 -9
  374. package/lib/module/web/browser/SearchManager.js.map +1 -1
  375. package/lib/module/web/browser/assertBrowsePageShape.js +18 -0
  376. package/lib/module/web/browser/assertBrowsePageShape.js.map +1 -0
  377. package/lib/module/web/browser/classifyTrackNavigation.js +38 -0
  378. package/lib/module/web/browser/classifyTrackNavigation.js.map +1 -0
  379. package/lib/module/web/browser/parseSearchResponse.js +16 -0
  380. package/lib/module/web/browser/parseSearchResponse.js.map +1 -0
  381. package/lib/module/web/http/HttpClient.js +4 -23
  382. package/lib/module/web/http/HttpClient.js.map +1 -1
  383. package/lib/module/web/http/RequestConfigBuilder.js +107 -58
  384. package/lib/module/web/http/RequestConfigBuilder.js.map +1 -1
  385. package/lib/module/web/playbackErrorKind.js +52 -0
  386. package/lib/module/web/playbackErrorKind.js.map +1 -0
  387. package/lib/module/web/player/MediaSessionManager.js +116 -0
  388. package/lib/module/web/player/MediaSessionManager.js.map +1 -0
  389. package/lib/module/web/player/NowPlayingManager.js +7 -5
  390. package/lib/module/web/player/NowPlayingManager.js.map +1 -1
  391. package/lib/module/web/player/OptionsManager.js +9 -17
  392. package/lib/module/web/player/OptionsManager.js.map +1 -1
  393. package/lib/module/web/player/RemoteCommandController.js +92 -0
  394. package/lib/module/web/player/RemoteCommandController.js.map +1 -0
  395. package/lib/typescript/src/features/browser-config.d.ts +12 -0
  396. package/lib/typescript/src/features/browser-config.d.ts.map +1 -0
  397. package/lib/typescript/src/features/browser.d.ts +40 -1
  398. package/lib/typescript/src/features/browser.d.ts.map +1 -1
  399. package/lib/typescript/src/features/carConnection.d.ts +20 -0
  400. package/lib/typescript/src/features/carConnection.d.ts.map +1 -0
  401. package/lib/typescript/src/features/errors.d.ts +58 -3
  402. package/lib/typescript/src/features/errors.d.ts.map +1 -1
  403. package/lib/typescript/src/features/gate.d.ts +77 -0
  404. package/lib/typescript/src/features/gate.d.ts.map +1 -0
  405. package/lib/typescript/src/features/index.d.ts +2 -0
  406. package/lib/typescript/src/features/index.d.ts.map +1 -1
  407. package/lib/typescript/src/features/metadata.d.ts +6 -4
  408. package/lib/typescript/src/features/metadata.d.ts.map +1 -1
  409. package/lib/typescript/src/features/nowPlaying.d.ts +27 -0
  410. package/lib/typescript/src/features/nowPlaying.d.ts.map +1 -1
  411. package/lib/typescript/src/features/output.d.ts +28 -18
  412. package/lib/typescript/src/features/output.d.ts.map +1 -1
  413. package/lib/typescript/src/features/playback/controls.d.ts +5 -0
  414. package/lib/typescript/src/features/playback/controls.d.ts.map +1 -1
  415. package/lib/typescript/src/features/playback/index.d.ts +1 -0
  416. package/lib/typescript/src/features/playback/index.d.ts.map +1 -1
  417. package/lib/typescript/src/features/playback/progress.d.ts +3 -0
  418. package/lib/typescript/src/features/playback/progress.d.ts.map +1 -1
  419. package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts +34 -0
  420. package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts.map +1 -0
  421. package/lib/typescript/src/features/playback/volume.d.ts +1 -1
  422. package/lib/typescript/src/features/player/options.d.ts +92 -93
  423. package/lib/typescript/src/features/player/options.d.ts.map +1 -1
  424. package/lib/typescript/src/features/player/setup.d.ts +206 -167
  425. package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
  426. package/lib/typescript/src/features/queue/queue.d.ts +9 -2
  427. package/lib/typescript/src/features/queue/queue.d.ts.map +1 -1
  428. package/lib/typescript/src/features/remoteControls.d.ts +0 -13
  429. package/lib/typescript/src/features/remoteControls.d.ts.map +1 -1
  430. package/lib/typescript/src/features/sleepTimer.d.ts +18 -3
  431. package/lib/typescript/src/features/sleepTimer.d.ts.map +1 -1
  432. package/lib/typescript/src/index.d.ts.map +1 -1
  433. package/lib/typescript/src/native.d.ts +1 -2
  434. package/lib/typescript/src/native.d.ts.map +1 -1
  435. package/lib/typescript/src/specs/audio-browser.nitro.d.ts +17 -225
  436. package/lib/typescript/src/specs/audio-browser.nitro.d.ts.map +1 -1
  437. package/lib/typescript/src/types/browser-native.d.ts +9 -3
  438. package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
  439. package/lib/typescript/src/types/browser-nodes.d.ts +145 -13
  440. package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
  441. package/lib/typescript/src/types/browser.d.ts +349 -85
  442. package/lib/typescript/src/types/browser.d.ts.map +1 -1
  443. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +0 -2
  444. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
  445. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +0 -2
  446. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -1
  447. package/lib/typescript/src/utils/artwork.d.ts +19 -0
  448. package/lib/typescript/src/utils/artwork.d.ts.map +1 -0
  449. package/lib/typescript/src/utils/resolveAssetSource.d.ts.map +1 -1
  450. package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +3 -1
  451. package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +24 -10
  452. package/nitrogen/generated/android/c++/JAndroidAudioContentType.hpp +6 -6
  453. package/nitrogen/generated/android/c++/JAndroidOptions.hpp +1 -11
  454. package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +33 -1
  455. package/nitrogen/generated/android/c++/JArtworkVariants.hpp +61 -0
  456. package/nitrogen/generated/android/c++/JBrowseResult.hpp +5 -0
  457. package/nitrogen/generated/android/c++/JCarPlayNowPlayingButton.hpp +3 -3
  458. package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +6 -0
  459. package/nitrogen/generated/android/c++/JFavoriteConfig.hpp +58 -0
  460. package/nitrogen/generated/android/c++/JFavoritesMatchMode.hpp +58 -0
  461. package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +100 -0
  462. package/nitrogen/generated/android/c++/JFormattedNavigationError.hpp +3 -2
  463. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.hpp +112 -0
  464. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.hpp +121 -0
  465. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +123 -0
  466. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +133 -0
  467. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +121 -0
  468. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.hpp +139 -0
  469. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +6 -0
  470. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.hpp +134 -0
  471. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +8 -0
  472. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +6 -0
  473. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.hpp +131 -0
  474. package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +6 -0
  475. package/nitrogen/generated/android/c++/JFunc_void_GateEvent.hpp +79 -0
  476. package/nitrogen/generated/android/c++/JFunc_void_NowPlayingMetadata.hpp +0 -10
  477. package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +9 -4
  478. package/nitrogen/generated/android/c++/JFunc_void_Output.hpp +80 -0
  479. package/nitrogen/generated/android/c++/JFunc_void_Playback.hpp +2 -0
  480. package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +6 -0
  481. package/nitrogen/generated/android/c++/JFunc_void_PlaybackErrorEvent.hpp +2 -0
  482. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +10 -10
  483. package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +6 -0
  484. package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +6 -0
  485. package/nitrogen/generated/android/c++/JGate.hpp +62 -0
  486. package/nitrogen/generated/android/c++/JGateDecision.hpp +64 -0
  487. package/nitrogen/generated/android/c++/{JThumbsRating.hpp → JGateEvent.hpp} +16 -15
  488. package/nitrogen/generated/android/c++/JGateReason.hpp +58 -0
  489. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +236 -212
  490. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.hpp +25 -22
  491. package/nitrogen/generated/android/c++/JIOSOptions.hpp +95 -0
  492. package/nitrogen/generated/android/c++/JImageRowItem.hpp +33 -3
  493. package/nitrogen/generated/android/c++/JMediaReference.hpp +58 -0
  494. package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +33 -1
  495. package/nitrogen/generated/android/c++/{JPartialAndroidSetupPlayerOptions.hpp → JNativeAndroidSetupOptions.hpp} +10 -10
  496. package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +61 -28
  497. package/nitrogen/generated/android/c++/JNativeGateRequest.hpp +74 -0
  498. package/nitrogen/generated/android/c++/{JPartialIOSSetupPlayerOptions.hpp → JNativeIOSSetupOptions.hpp} +10 -10
  499. package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +20 -9
  500. package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +182 -0
  501. package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +16 -19
  502. package/nitrogen/generated/android/c++/JNavigationErrorType.hpp +6 -0
  503. package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +1 -11
  504. package/nitrogen/generated/android/c++/JNitroIOSUpdateOptions.hpp +96 -0
  505. package/nitrogen/generated/android/c++/JNotificationButton.hpp +3 -3
  506. package/nitrogen/generated/android/c++/JNowPlayingMetadata.hpp +3 -17
  507. package/nitrogen/generated/android/c++/JNowPlayingUpdate.hpp +7 -3
  508. package/nitrogen/generated/android/c++/JOptions.hpp +14 -9
  509. package/nitrogen/generated/android/c++/{JIosOutput.hpp → JOutput.hpp} +15 -15
  510. package/nitrogen/generated/android/c++/JOutputType.hpp +82 -0
  511. package/nitrogen/generated/android/c++/JPlayback.hpp +2 -0
  512. package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +6 -0
  513. package/nitrogen/generated/android/c++/JPlaybackError.hpp +18 -3
  514. package/nitrogen/generated/android/c++/JPlaybackErrorEvent.hpp +2 -0
  515. package/nitrogen/generated/android/c++/JPlaybackErrorKind.hpp +76 -0
  516. package/nitrogen/generated/android/c++/JPlaybackState.hpp +3 -3
  517. package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +11 -5
  518. package/nitrogen/generated/android/c++/JResolvedTrack.hpp +23 -5
  519. package/nitrogen/generated/android/c++/JRetryConfig.hpp +11 -7
  520. package/nitrogen/generated/android/c++/JSearchMode.hpp +27 -9
  521. package/nitrogen/generated/android/c++/JSearchParams.hpp +9 -3
  522. package/nitrogen/generated/android/c++/JStallReason.hpp +58 -0
  523. package/nitrogen/generated/android/c++/JTrack.hpp +23 -5
  524. package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +6 -0
  525. package/nitrogen/generated/android/c++/JTrackRequest.hpp +93 -0
  526. package/nitrogen/generated/android/c++/JTransformableRequestConfig.hpp +14 -1
  527. package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.cpp +26 -0
  528. package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.hpp +71 -0
  529. package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.cpp +41 -0
  530. package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +121 -0
  531. package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.cpp +26 -0
  532. package/nitrogen/generated/android/c++/JVariant_String_ArtworkVariants.hpp +70 -0
  533. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidAudioContentType.kt +4 -4
  534. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidOptions.kt +2 -8
  535. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkRequestConfig.kt +10 -4
  536. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ArtworkVariants.kt +41 -0
  537. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayNowPlayingButton.kt +3 -3
  538. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{ThumbsRating.kt → FavoriteConfig.kt} +6 -6
  539. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{RatingType.kt → FavoritesMatchMode.kt} +5 -10
  540. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormatNowPlayingParams.kt +50 -0
  541. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormattedNavigationError.kt +2 -2
  542. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.kt +80 -0
  543. 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 +80 -0
  544. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_RequestConfig___Track.kt +80 -0
  545. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.kt +80 -0
  546. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__optional_std__string____Track.kt +80 -0
  547. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.kt +80 -0
  548. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.kt +80 -0
  549. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.kt → Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.kt} +12 -12
  550. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_RemoteSetRatingEvent.kt → Func_void_GateEvent.kt} +9 -9
  551. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Func_void_IosOutput.kt → Func_void_Output.kt} +9 -9
  552. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_bool.kt +9 -9
  553. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{HeartRating.kt → Gate.kt} +9 -6
  554. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{PercentageRating.kt → GateDecision.kt} +9 -6
  555. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{StarRating.kt → GateEvent.kt} +6 -6
  556. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/GateReason.kt +23 -0
  557. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HybridAudioBrowserSpec.kt +103 -109
  558. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSOptions.kt +44 -0
  559. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +24 -3
  560. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaReference.kt +23 -0
  561. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/MediaRequestConfig.kt +10 -4
  562. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{PartialAndroidSetupPlayerOptions.kt → NativeAndroidSetupOptions.kt} +5 -5
  563. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +18 -6
  564. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{RemoteSetRatingEvent.kt → NativeGateRequest.kt} +12 -6
  565. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{PartialIOSSetupPlayerOptions.kt → NativeIOSSetupOptions.kt} +5 -5
  566. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeRouteEntry.kt +4 -4
  567. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeSetupPlayerOptions.kt +66 -0
  568. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeUpdateOptions.kt +6 -6
  569. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorType.kt +3 -1
  570. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +2 -8
  571. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroIOSUpdateOptions.kt +44 -0
  572. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButton.kt +5 -5
  573. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingMetadata.kt +3 -6
  574. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NowPlayingUpdate.kt +6 -3
  575. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Options.kt +3 -3
  576. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{IosOutput.kt → Output.kt} +6 -6
  577. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/OutputType.kt +31 -0
  578. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackError.kt +12 -3
  579. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackErrorKind.kt +29 -0
  580. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlaybackState.kt +6 -6
  581. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayerCapabilities.kt +2 -2
  582. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ResolvedTrack.kt +12 -3
  583. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RetryConfig.kt +7 -4
  584. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchMode.kt +12 -6
  585. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/SearchParams.kt +6 -3
  586. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StallReason.kt +23 -0
  587. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +12 -3
  588. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackRequest.kt +44 -0
  589. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TransformableRequestConfig.kt +7 -4
  590. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_FavoriteConfig.kt +53 -0
  591. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.kt +65 -0
  592. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_String_ArtworkVariants.kt +53 -0
  593. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +139 -28
  594. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +1098 -447
  595. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +60 -39
  596. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +170 -112
  597. package/nitrogen/generated/ios/swift/AndroidAudioContentType.swift +8 -8
  598. package/nitrogen/generated/ios/swift/AndroidOptions.swift +2 -12
  599. package/nitrogen/generated/ios/swift/ArtworkRequestConfig.swift +95 -1
  600. package/nitrogen/generated/ios/swift/ArtworkVariants.swift +34 -0
  601. package/nitrogen/generated/ios/swift/CarPlayNowPlayingButton.swift +4 -4
  602. package/nitrogen/generated/ios/swift/FavoriteConfig.swift +29 -0
  603. package/nitrogen/generated/ios/swift/FavoritesMatchMode.swift +40 -0
  604. package/nitrogen/generated/ios/swift/FormatNowPlayingParams.swift +67 -0
  605. package/nitrogen/generated/ios/swift/FormattedNavigationError.swift +17 -4
  606. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams.swift +54 -0
  607. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___RequestConfig_std__optional_std__unordered_map_std__string__std__string__.swift +69 -0
  608. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_RequestConfig___Track.swift +54 -0
  609. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.swift +60 -0
  610. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__optional_std__string____Track.swift +60 -0
  611. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.swift +61 -0
  612. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____.swift +61 -0
  613. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.swift +77 -0
  614. package/nitrogen/generated/ios/swift/Func_void_GateDecision.swift +46 -0
  615. package/nitrogen/generated/ios/swift/{Func_void_RemoteSetRatingEvent.swift → Func_void_GateEvent.swift} +10 -10
  616. package/nitrogen/generated/ios/swift/{Func_void_IosOutput.swift → Func_void_Output.swift} +10 -10
  617. package/nitrogen/generated/ios/swift/Func_void_TransformableRequestConfig.swift +46 -0
  618. package/nitrogen/generated/ios/swift/Func_void_bool.swift +5 -5
  619. package/nitrogen/generated/ios/swift/Func_void_std__optional_NowPlayingUpdate_.swift +46 -0
  620. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +53 -0
  621. package/nitrogen/generated/ios/swift/{Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___.swift → Func_void_std__shared_ptr_Promise_GateDecision__.swift} +17 -17
  622. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_TransformableRequestConfig__.swift +66 -0
  623. package/nitrogen/generated/ios/swift/Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____.swift +81 -0
  624. package/nitrogen/generated/ios/swift/Gate.swift +47 -0
  625. package/nitrogen/generated/ios/swift/GateDecision.swift +40 -0
  626. package/nitrogen/generated/ios/swift/GateEvent.swift +29 -0
  627. package/nitrogen/generated/ios/swift/GateReason.swift +40 -0
  628. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec.swift +20 -14
  629. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec_cxx.swift +230 -197
  630. package/nitrogen/generated/ios/swift/IOSOptions.swift +51 -0
  631. package/nitrogen/generated/ios/swift/ImageRowItem.swift +121 -2
  632. package/nitrogen/generated/ios/swift/MediaReference.swift +40 -0
  633. package/nitrogen/generated/ios/swift/MediaRequestConfig.swift +107 -1
  634. package/nitrogen/generated/ios/swift/{PartialAndroidSetupPlayerOptions.swift → NativeAndroidSetupOptions.swift} +5 -5
  635. package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +161 -22
  636. package/nitrogen/generated/ios/swift/NativeGateRequest.swift +58 -0
  637. package/nitrogen/generated/ios/swift/{PartialIOSSetupPlayerOptions.swift → NativeIOSSetupOptions.swift} +5 -5
  638. package/nitrogen/generated/ios/swift/NativeRouteEntry.swift +19 -19
  639. package/nitrogen/generated/ios/swift/NativeSetupPlayerOptions.swift +206 -0
  640. package/nitrogen/generated/ios/swift/NativeUpdateOptions.swift +12 -25
  641. package/nitrogen/generated/ios/swift/NavigationErrorType.swift +8 -0
  642. package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +1 -30
  643. package/nitrogen/generated/ios/swift/NitroIOSUpdateOptions.swift +90 -0
  644. package/nitrogen/generated/ios/swift/NotificationButton.swift +4 -4
  645. package/nitrogen/generated/ios/swift/NowPlayingMetadata.swift +1 -48
  646. package/nitrogen/generated/ios/swift/NowPlayingUpdate.swift +19 -1
  647. package/nitrogen/generated/ios/swift/Options.swift +10 -4
  648. package/nitrogen/generated/ios/swift/{IosOutput.swift → Output.swift} +7 -7
  649. package/nitrogen/generated/ios/swift/OutputType.swift +72 -0
  650. package/nitrogen/generated/ios/swift/PlaybackError.swift +43 -2
  651. package/nitrogen/generated/ios/swift/PlaybackErrorKind.swift +64 -0
  652. package/nitrogen/generated/ios/swift/PlaybackState.swift +4 -4
  653. package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +27 -8
  654. package/nitrogen/generated/ios/swift/ResolvedTrack.swift +74 -8
  655. package/nitrogen/generated/ios/swift/RetryConfig.swift +35 -4
  656. package/nitrogen/generated/ios/swift/SearchMode.swift +36 -12
  657. package/nitrogen/generated/ios/swift/SearchParams.swift +7 -2
  658. package/nitrogen/generated/ios/swift/StallReason.swift +40 -0
  659. package/nitrogen/generated/ios/swift/Track.swift +74 -8
  660. package/nitrogen/generated/ios/swift/TrackRequest.swift +106 -0
  661. package/nitrogen/generated/ios/swift/TransformableRequestConfig.swift +60 -1
  662. package/nitrogen/generated/ios/swift/Variant_Bool_FavoriteConfig.swift +18 -0
  663. package/nitrogen/generated/ios/swift/Variant_ResolvedTrack_BrowseError_Promise_BrowseResult_.swift +19 -0
  664. package/nitrogen/generated/ios/swift/Variant_String_ArtworkVariants.swift +18 -0
  665. package/nitrogen/generated/shared/c++/AndroidAudioContentType.hpp +10 -10
  666. package/nitrogen/generated/shared/c++/AndroidOptions.hpp +1 -12
  667. package/nitrogen/generated/shared/c++/ArtworkRequestConfig.hpp +10 -2
  668. package/nitrogen/generated/shared/c++/ArtworkVariants.hpp +87 -0
  669. package/nitrogen/generated/shared/c++/CarPlayNowPlayingButton.hpp +6 -6
  670. package/nitrogen/generated/shared/c++/EqualizerSettings.hpp +0 -2
  671. package/nitrogen/generated/shared/c++/{StarRating.hpp → FavoriteConfig.hpp} +18 -17
  672. package/nitrogen/generated/shared/c++/FavoritesMatchMode.hpp +76 -0
  673. package/nitrogen/generated/shared/c++/FormatNowPlayingParams.hpp +110 -0
  674. package/nitrogen/generated/shared/c++/FormattedNavigationError.hpp +6 -5
  675. package/nitrogen/generated/shared/c++/{HeartRating.hpp → Gate.hpp} +21 -16
  676. package/nitrogen/generated/shared/c++/{ThumbsRating.hpp → GateDecision.hpp} +23 -17
  677. package/nitrogen/generated/shared/c++/{PercentageRating.hpp → GateEvent.hpp} +18 -17
  678. package/nitrogen/generated/shared/c++/GateReason.hpp +76 -0
  679. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.cpp +21 -18
  680. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.hpp +44 -35
  681. package/nitrogen/generated/shared/c++/IOSOptions.hpp +91 -0
  682. package/nitrogen/generated/shared/c++/ImageRowItem.hpp +33 -2
  683. package/nitrogen/generated/shared/c++/MediaReference.hpp +76 -0
  684. package/nitrogen/generated/shared/c++/MediaRequestConfig.hpp +10 -2
  685. package/nitrogen/generated/shared/c++/{PartialAndroidSetupPlayerOptions.hpp → NativeAndroidSetupOptions.hpp} +11 -11
  686. package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +31 -15
  687. package/nitrogen/generated/shared/c++/NativeGateRequest.hpp +97 -0
  688. package/nitrogen/generated/shared/c++/{PartialIOSSetupPlayerOptions.hpp → NativeIOSSetupOptions.hpp} +11 -11
  689. package/nitrogen/generated/shared/c++/NativeRouteEntry.hpp +5 -5
  690. package/nitrogen/generated/shared/c++/NativeSetupPlayerOptions.hpp +138 -0
  691. package/nitrogen/generated/shared/c++/NativeUpdateOptions.hpp +9 -7
  692. package/nitrogen/generated/shared/c++/NavigationErrorType.hpp +8 -0
  693. package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +1 -12
  694. package/nitrogen/generated/shared/c++/NitroIOSUpdateOptions.hpp +92 -0
  695. package/nitrogen/generated/shared/c++/NotificationButton.hpp +8 -8
  696. package/nitrogen/generated/shared/c++/NowPlayingMetadata.hpp +3 -19
  697. package/nitrogen/generated/shared/c++/NowPlayingUpdate.hpp +6 -2
  698. package/nitrogen/generated/shared/c++/Options.hpp +8 -8
  699. package/nitrogen/generated/shared/c++/{IosOutput.hpp → Output.hpp} +18 -18
  700. package/nitrogen/generated/shared/c++/OutputType.hpp +108 -0
  701. package/nitrogen/generated/shared/c++/PlaybackError.hpp +18 -3
  702. package/nitrogen/generated/shared/c++/PlaybackErrorKind.hpp +100 -0
  703. package/nitrogen/generated/shared/c++/PlaybackState.hpp +9 -9
  704. package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +9 -6
  705. package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +24 -5
  706. package/nitrogen/generated/shared/c++/RetryConfig.hpp +10 -6
  707. package/nitrogen/generated/shared/c++/SearchMode.hpp +39 -15
  708. package/nitrogen/generated/shared/c++/SearchParams.hpp +9 -2
  709. package/nitrogen/generated/shared/c++/StallReason.hpp +76 -0
  710. package/nitrogen/generated/shared/c++/Track.hpp +24 -5
  711. package/nitrogen/generated/shared/c++/TrackRequest.hpp +93 -0
  712. package/nitrogen/generated/shared/c++/TransformableRequestConfig.hpp +6 -2
  713. package/package.json +11 -6
  714. package/src/codegen-no-config-variant.test.ts +70 -0
  715. package/src/features/browser-config.test.ts +110 -0
  716. package/src/features/browser-config.ts +293 -0
  717. package/src/features/browser.test.ts +19 -0
  718. package/src/features/browser.ts +58 -201
  719. package/src/features/carConnection.ts +36 -0
  720. package/src/features/errors.ts +68 -2
  721. package/src/features/gate.test.ts +72 -0
  722. package/src/features/gate.ts +155 -0
  723. package/src/features/index.ts +2 -0
  724. package/src/features/metadata.ts +6 -12
  725. package/src/features/nowPlaying.ts +36 -0
  726. package/src/features/output.ts +35 -22
  727. package/src/features/playback/controls.ts +8 -0
  728. package/src/features/playback/index.ts +1 -0
  729. package/src/features/playback/progress.ts +31 -12
  730. package/src/features/playback/trackPlaybackTime.test.ts +66 -0
  731. package/src/features/playback/trackPlaybackTime.ts +106 -0
  732. package/src/features/playback/volume.ts +1 -1
  733. package/src/features/player/options.test.ts +38 -0
  734. package/src/features/player/options.ts +140 -75
  735. package/src/features/player/setup.test.ts +117 -0
  736. package/src/features/player/setup.ts +390 -175
  737. package/src/features/queue/queue.test.ts +36 -0
  738. package/src/features/queue/queue.ts +15 -4
  739. package/src/features/remoteControls.ts +0 -23
  740. package/src/features/sleepTimer.ts +23 -4
  741. package/src/native.ts +5 -0
  742. package/src/native.web.ts +4 -1
  743. package/src/specs/audio-browser.nitro.ts +131 -41
  744. package/src/types/browser-native.ts +19 -6
  745. package/src/types/browser-nodes.ts +160 -13
  746. package/src/types/browser.ts +377 -89
  747. package/src/utils/LazyNativeEmitter.ts +0 -2
  748. package/src/utils/NativeUpdatedValue.ts +0 -2
  749. package/src/utils/artwork.ts +30 -0
  750. package/src/web/NativeAudioBrowser.playWhenReady.test.ts +301 -0
  751. package/src/web/NativeAudioBrowser.ts +365 -158
  752. package/src/web/TrackPlayer/PlaybackStateMachine.test.ts +139 -0
  753. package/src/web/TrackPlayer/PlaybackStateMachine.ts +82 -0
  754. package/src/web/TrackPlayer/PlaybackTimer.test.ts +67 -0
  755. package/src/web/TrackPlayer/PlaybackTimer.ts +33 -0
  756. package/src/web/TrackPlayer/Player.dispatch.test.ts +229 -0
  757. package/src/web/TrackPlayer/Player.load.test.ts +86 -0
  758. package/src/web/TrackPlayer/Player.ts +113 -39
  759. package/src/web/TrackPlayer/PlayingStateFactory.test.ts +51 -0
  760. package/src/web/TrackPlayer/PlayingStateFactory.ts +24 -0
  761. package/src/web/TrackPlayer/QueueManager.test.ts +289 -0
  762. package/src/web/TrackPlayer/QueueManager.ts +302 -0
  763. package/src/web/TrackPlayer/QueuePlayer.ts +188 -0
  764. package/src/web/TrackPlayer/RepeatMode.ts +1 -1
  765. package/src/web/TrackPlayer/SleepTimer.ts +38 -3
  766. package/src/web/TrackPlayer/VolumeFader.ts +74 -0
  767. package/src/web/TrackPlayer/index.ts +2 -1
  768. package/src/web/browser/BrowserManager.ts +231 -62
  769. package/src/web/browser/NavigationErrorManager.ts +3 -1
  770. package/src/web/browser/SearchManager.ts +11 -15
  771. package/src/web/browser/__tests__/layer-resolver.test.ts +69 -0
  772. package/src/web/browser/assertBrowsePageShape.test.ts +27 -0
  773. package/src/web/browser/assertBrowsePageShape.ts +27 -0
  774. package/src/web/browser/classifyTrackNavigation.test.ts +41 -0
  775. package/src/web/browser/classifyTrackNavigation.ts +35 -0
  776. package/src/web/browser/parseSearchResponse.test.ts +25 -0
  777. package/src/web/browser/parseSearchResponse.ts +15 -0
  778. package/src/web/http/HttpClient.ts +5 -35
  779. package/src/web/http/RequestConfigBuilder.test.ts +59 -0
  780. package/src/web/http/RequestConfigBuilder.ts +120 -63
  781. package/src/web/playbackErrorKind.test.ts +55 -0
  782. package/src/web/playbackErrorKind.ts +56 -0
  783. package/src/web/player/MediaSessionManager.test.ts +220 -0
  784. package/src/web/player/MediaSessionManager.ts +151 -0
  785. package/src/web/player/NowPlayingManager.test.ts +46 -0
  786. package/src/web/player/NowPlayingManager.ts +6 -5
  787. package/src/web/player/OptionsManager.ts +12 -18
  788. package/src/web/player/RemoteCommandController.test.ts +171 -0
  789. package/src/web/player/RemoteCommandController.ts +166 -0
  790. package/android/src/main/java/com/audiobrowser/player/PlaybackProgressUpdateManager.kt +0 -59
  791. package/android/src/main/java/com/audiobrowser/util/RatingFactory.kt +0 -72
  792. package/android/src/main/java/com/audiobrowser/util/ResolvedTrackFactory.kt +0 -36
  793. package/android/src/test/java/com/audiobrowser/player/PlaybackProgressUpdateManagerTest.kt +0 -146
  794. package/ios/CarPlay/Track+CarPlay.swift +0 -63
  795. package/ios/NowPlayingInfo/NowPlayingInfoCenter.swift +0 -9
  796. package/ios/Player/PlaybackProgressUpdateManager.swift +0 -68
  797. package/ios/Tests/PlaybackProgressUpdateManagerTests.swift +0 -166
  798. package/lib/commonjs/features/rating.js +0 -2
  799. package/lib/commonjs/features/rating.js.map +0 -1
  800. package/lib/commonjs/types/player.js +0 -2
  801. package/lib/commonjs/types/player.js.map +0 -1
  802. package/lib/commonjs/web/SimpleRouter.test.js +0 -174
  803. package/lib/commonjs/web/SimpleRouter.test.js.map +0 -1
  804. package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js +0 -293
  805. package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js.map +0 -1
  806. package/lib/module/features/rating.js +0 -2
  807. package/lib/module/features/rating.js.map +0 -1
  808. package/lib/module/types/player.js +0 -2
  809. package/lib/module/types/player.js.map +0 -1
  810. package/lib/module/web/SimpleRouter.test.js +0 -174
  811. package/lib/module/web/SimpleRouter.test.js.map +0 -1
  812. package/lib/module/web/TrackPlayer/PlaylistPlayer.js +0 -288
  813. package/lib/module/web/TrackPlayer/PlaylistPlayer.js.map +0 -1
  814. package/lib/typescript/src/features/rating.d.ts +0 -14
  815. package/lib/typescript/src/features/rating.d.ts.map +0 -1
  816. package/lib/typescript/src/native.web.d.ts +0 -3
  817. package/lib/typescript/src/native.web.d.ts.map +0 -1
  818. package/lib/typescript/src/types/player.d.ts +0 -64
  819. package/lib/typescript/src/types/player.d.ts.map +0 -1
  820. package/lib/typescript/src/web/NativeAudioBrowser.d.ts +0 -188
  821. package/lib/typescript/src/web/NativeAudioBrowser.d.ts.map +0 -1
  822. package/lib/typescript/src/web/SimpleRouter.d.ts +0 -40
  823. package/lib/typescript/src/web/SimpleRouter.d.ts.map +0 -1
  824. package/lib/typescript/src/web/SimpleRouter.test.d.ts +0 -2
  825. package/lib/typescript/src/web/SimpleRouter.test.d.ts.map +0 -1
  826. package/lib/typescript/src/web/TrackPlayer/Event.d.ts +0 -11
  827. package/lib/typescript/src/web/TrackPlayer/Event.d.ts.map +0 -1
  828. package/lib/typescript/src/web/TrackPlayer/Player.d.ts +0 -59
  829. package/lib/typescript/src/web/TrackPlayer/Player.d.ts.map +0 -1
  830. package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts +0 -39
  831. package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts.map +0 -1
  832. package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts +0 -6
  833. package/lib/typescript/src/web/TrackPlayer/RepeatMode.d.ts.map +0 -1
  834. package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts +0 -4
  835. package/lib/typescript/src/web/TrackPlayer/SetupNotCalledError.d.ts.map +0 -1
  836. package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts +0 -34
  837. package/lib/typescript/src/web/TrackPlayer/SleepTimer.d.ts.map +0 -1
  838. package/lib/typescript/src/web/TrackPlayer/State.d.ts +0 -13
  839. package/lib/typescript/src/web/TrackPlayer/State.d.ts.map +0 -1
  840. package/lib/typescript/src/web/TrackPlayer/index.d.ts +0 -5
  841. package/lib/typescript/src/web/TrackPlayer/index.d.ts.map +0 -1
  842. package/lib/typescript/src/web/browser/BrowserManager.d.ts +0 -154
  843. package/lib/typescript/src/web/browser/BrowserManager.d.ts.map +0 -1
  844. package/lib/typescript/src/web/browser/FavoriteManager.d.ts +0 -42
  845. package/lib/typescript/src/web/browser/FavoriteManager.d.ts.map +0 -1
  846. package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts +0 -40
  847. package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts.map +0 -1
  848. package/lib/typescript/src/web/browser/SearchManager.d.ts +0 -22
  849. package/lib/typescript/src/web/browser/SearchManager.d.ts.map +0 -1
  850. package/lib/typescript/src/web/http/HttpClient.d.ts +0 -25
  851. package/lib/typescript/src/web/http/HttpClient.d.ts.map +0 -1
  852. package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts +0 -98
  853. package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts.map +0 -1
  854. package/lib/typescript/src/web/player/NowPlayingManager.d.ts +0 -34
  855. package/lib/typescript/src/web/player/NowPlayingManager.d.ts.map +0 -1
  856. package/lib/typescript/src/web/player/OptionsManager.d.ts +0 -32
  857. package/lib/typescript/src/web/player/OptionsManager.d.ts.map +0 -1
  858. package/lib/typescript/src/web/util/BrowserPathHelper.d.ts +0 -69
  859. package/lib/typescript/src/web/util/BrowserPathHelper.d.ts.map +0 -1
  860. package/lib/typescript/src/web/util/shuffle.d.ts +0 -8
  861. package/lib/typescript/src/web/util/shuffle.d.ts.map +0 -1
  862. package/nitrogen/generated/android/c++/JAndroidUpdateOptions.hpp +0 -86
  863. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.hpp +0 -147
  864. package/nitrogen/generated/android/c++/JFunc_void_IosOutput.hpp +0 -80
  865. package/nitrogen/generated/android/c++/JFunc_void_RemoteSetRatingEvent.hpp +0 -87
  866. package/nitrogen/generated/android/c++/JHeartRating.hpp +0 -57
  867. package/nitrogen/generated/android/c++/JIosOutputType.hpp +0 -85
  868. package/nitrogen/generated/android/c++/JPartialSetupPlayerOptions.hpp +0 -96
  869. package/nitrogen/generated/android/c++/JPercentageRating.hpp +0 -57
  870. package/nitrogen/generated/android/c++/JRatingType.hpp +0 -73
  871. package/nitrogen/generated/android/c++/JRemoteSetRatingEvent.hpp +0 -66
  872. package/nitrogen/generated/android/c++/JStarRating.hpp +0 -57
  873. package/nitrogen/generated/android/c++/JUpdateOptions.hpp +0 -105
  874. package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.cpp +0 -34
  875. package/nitrogen/generated/android/c++/JVariant_HeartRating_ThumbsRating_StarRating_PercentageRating.hpp +0 -105
  876. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidUpdateOptions.kt +0 -50
  877. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IosOutputType.kt +0 -32
  878. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PartialSetupPlayerOptions.kt +0 -47
  879. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/UpdateOptions.kt +0 -53
  880. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.kt +0 -77
  881. package/nitrogen/generated/ios/swift/AndroidUpdateOptions.swift +0 -119
  882. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam.swift +0 -68
  883. package/nitrogen/generated/ios/swift/HeartRating.swift +0 -29
  884. package/nitrogen/generated/ios/swift/IosOutputType.swift +0 -76
  885. package/nitrogen/generated/ios/swift/PartialSetupPlayerOptions.swift +0 -101
  886. package/nitrogen/generated/ios/swift/PercentageRating.swift +0 -29
  887. package/nitrogen/generated/ios/swift/RatingType.swift +0 -60
  888. package/nitrogen/generated/ios/swift/RemoteSetRatingEvent.swift +0 -58
  889. package/nitrogen/generated/ios/swift/StarRating.swift +0 -29
  890. package/nitrogen/generated/ios/swift/ThumbsRating.swift +0 -29
  891. package/nitrogen/generated/ios/swift/UpdateOptions.swift +0 -143
  892. package/nitrogen/generated/ios/swift/Variant_HeartRating_ThumbsRating_StarRating_PercentageRating.swift +0 -20
  893. package/nitrogen/generated/shared/c++/AndroidUpdateOptions.hpp +0 -109
  894. package/nitrogen/generated/shared/c++/IosOutputType.hpp +0 -112
  895. package/nitrogen/generated/shared/c++/PartialSetupPlayerOptions.hpp +0 -104
  896. package/nitrogen/generated/shared/c++/RatingType.hpp +0 -96
  897. package/nitrogen/generated/shared/c++/RemoteSetRatingEvent.hpp +0 -94
  898. package/nitrogen/generated/shared/c++/UpdateOptions.hpp +0 -111
  899. package/src/features/rating.ts +0 -17
  900. package/src/types/player.ts +0 -69
  901. package/src/web/TrackPlayer/PlaylistPlayer.ts +0 -346
@@ -16,12 +16,12 @@ namespace margelo::nitro::audiobrowser { struct AndroidAudioOffloadSettings; }
16
16
  namespace margelo::nitro::audiobrowser { struct AndroidOptions; }
17
17
  // Forward declaration of `AndroidPlayerWakeMode` to properly resolve imports.
18
18
  namespace margelo::nitro::audiobrowser { enum class AndroidPlayerWakeMode; }
19
- // Forward declaration of `AndroidUpdateOptions` to properly resolve imports.
20
- namespace margelo::nitro::audiobrowser { struct AndroidUpdateOptions; }
21
19
  // Forward declaration of `AppKilledPlaybackBehavior` to properly resolve imports.
22
20
  namespace margelo::nitro::audiobrowser { enum class AppKilledPlaybackBehavior; }
23
21
  // Forward declaration of `ArtworkRequestConfig` to properly resolve imports.
24
22
  namespace margelo::nitro::audiobrowser { struct ArtworkRequestConfig; }
23
+ // Forward declaration of `ArtworkVariants` to properly resolve imports.
24
+ namespace margelo::nitro::audiobrowser { struct ArtworkVariants; }
25
25
  // Forward declaration of `BatteryOptimizationStatusChangedEvent` to properly resolve imports.
26
26
  namespace margelo::nitro::audiobrowser { struct BatteryOptimizationStatusChangedEvent; }
27
27
  // Forward declaration of `BatteryOptimizationStatus` to properly resolve imports.
@@ -42,12 +42,24 @@ namespace margelo::nitro::audiobrowser { struct ChapterMetadata; }
42
42
  namespace margelo::nitro::audiobrowser { struct EqualizerSettings; }
43
43
  // Forward declaration of `FavoriteChangedEvent` to properly resolve imports.
44
44
  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; }
45
49
  // Forward declaration of `FormatNavigationErrorParams` to properly resolve imports.
46
50
  namespace margelo::nitro::audiobrowser { struct FormatNavigationErrorParams; }
51
+ // Forward declaration of `FormatNowPlayingParams` to properly resolve imports.
52
+ namespace margelo::nitro::audiobrowser { struct FormatNowPlayingParams; }
47
53
  // Forward declaration of `FormattedNavigationError` to properly resolve imports.
48
54
  namespace margelo::nitro::audiobrowser { struct FormattedNavigationError; }
49
- // Forward declaration of `HeartRating` to properly resolve imports.
50
- namespace margelo::nitro::audiobrowser { struct HeartRating; }
55
+ // Forward declaration of `GateDecision` to properly resolve imports.
56
+ namespace margelo::nitro::audiobrowser { struct GateDecision; }
57
+ // Forward declaration of `GateEvent` to properly resolve imports.
58
+ namespace margelo::nitro::audiobrowser { struct GateEvent; }
59
+ // Forward declaration of `GateReason` to properly resolve imports.
60
+ namespace margelo::nitro::audiobrowser { enum class GateReason; }
61
+ // Forward declaration of `Gate` to properly resolve imports.
62
+ namespace margelo::nitro::audiobrowser { struct Gate; }
51
63
  // Forward declaration of `HttpMethod` to properly resolve imports.
52
64
  namespace margelo::nitro::audiobrowser { enum class HttpMethod; }
53
65
  // Forward declaration of `HybridAudioBrowserSpec` to properly resolve imports.
@@ -60,6 +72,8 @@ namespace margelo::nitro::audiobrowser { enum class IOSCategoryOptions; }
60
72
  namespace margelo::nitro::audiobrowser { enum class IOSCategoryPolicy; }
61
73
  // Forward declaration of `IOSCategory` to properly resolve imports.
62
74
  namespace margelo::nitro::audiobrowser { enum class IOSCategory; }
75
+ // Forward declaration of `IOSOptions` to properly resolve imports.
76
+ namespace margelo::nitro::audiobrowser { struct IOSOptions; }
63
77
  // Forward declaration of `ImageContext` to properly resolve imports.
64
78
  namespace margelo::nitro::audiobrowser { struct ImageContext; }
65
79
  // Forward declaration of `ImageQueryParams` to properly resolve imports.
@@ -68,16 +82,22 @@ namespace margelo::nitro::audiobrowser { struct ImageQueryParams; }
68
82
  namespace margelo::nitro::audiobrowser { struct ImageRowItem; }
69
83
  // Forward declaration of `ImageSource` to properly resolve imports.
70
84
  namespace margelo::nitro::audiobrowser { struct ImageSource; }
71
- // Forward declaration of `IosOutputType` to properly resolve imports.
72
- namespace margelo::nitro::audiobrowser { enum class IosOutputType; }
73
- // Forward declaration of `IosOutput` to properly resolve imports.
74
- namespace margelo::nitro::audiobrowser { struct IosOutput; }
85
+ // Forward declaration of `MediaReference` to properly resolve imports.
86
+ namespace margelo::nitro::audiobrowser { enum class MediaReference; }
75
87
  // Forward declaration of `MediaRequestConfig` to properly resolve imports.
76
88
  namespace margelo::nitro::audiobrowser { struct MediaRequestConfig; }
77
89
  // Forward declaration of `MediaTransformParams` to properly resolve imports.
78
90
  namespace margelo::nitro::audiobrowser { struct MediaTransformParams; }
91
+ // Forward declaration of `NativeAndroidSetupOptions` to properly resolve imports.
92
+ namespace margelo::nitro::audiobrowser { struct NativeAndroidSetupOptions; }
93
+ // Forward declaration of `NativeGateRequest` to properly resolve imports.
94
+ namespace margelo::nitro::audiobrowser { struct NativeGateRequest; }
95
+ // Forward declaration of `NativeIOSSetupOptions` to properly resolve imports.
96
+ namespace margelo::nitro::audiobrowser { struct NativeIOSSetupOptions; }
79
97
  // Forward declaration of `NativeRouteEntry` to properly resolve imports.
80
98
  namespace margelo::nitro::audiobrowser { struct NativeRouteEntry; }
99
+ // Forward declaration of `NativeUpdateOptions` to properly resolve imports.
100
+ namespace margelo::nitro::audiobrowser { struct NativeUpdateOptions; }
81
101
  // Forward declaration of `NavigationErrorEvent` to properly resolve imports.
82
102
  namespace margelo::nitro::audiobrowser { struct NavigationErrorEvent; }
83
103
  // Forward declaration of `NavigationErrorType` to properly resolve imports.
@@ -86,6 +106,8 @@ namespace margelo::nitro::audiobrowser { enum class NavigationErrorType; }
86
106
  namespace margelo::nitro::audiobrowser { struct NavigationError; }
87
107
  // Forward declaration of `NitroAndroidUpdateOptions` to properly resolve imports.
88
108
  namespace margelo::nitro::audiobrowser { struct NitroAndroidUpdateOptions; }
109
+ // Forward declaration of `NitroIOSUpdateOptions` to properly resolve imports.
110
+ namespace margelo::nitro::audiobrowser { struct NitroIOSUpdateOptions; }
89
111
  // Forward declaration of `NotificationButtonLayout` to properly resolve imports.
90
112
  namespace margelo::nitro::audiobrowser { struct NotificationButtonLayout; }
91
113
  // Forward declaration of `NotificationButton` to properly resolve imports.
@@ -96,16 +118,16 @@ namespace margelo::nitro::audiobrowser { struct NowPlayingMetadata; }
96
118
  namespace margelo::nitro::audiobrowser { struct NowPlayingUpdate; }
97
119
  // Forward declaration of `Options` to properly resolve imports.
98
120
  namespace margelo::nitro::audiobrowser { struct Options; }
99
- // Forward declaration of `PartialAndroidSetupPlayerOptions` to properly resolve imports.
100
- namespace margelo::nitro::audiobrowser { struct PartialAndroidSetupPlayerOptions; }
101
- // Forward declaration of `PartialIOSSetupPlayerOptions` to properly resolve imports.
102
- namespace margelo::nitro::audiobrowser { struct PartialIOSSetupPlayerOptions; }
103
- // Forward declaration of `PercentageRating` to properly resolve imports.
104
- namespace margelo::nitro::audiobrowser { struct PercentageRating; }
121
+ // Forward declaration of `OutputType` to properly resolve imports.
122
+ namespace margelo::nitro::audiobrowser { enum class OutputType; }
123
+ // Forward declaration of `Output` to properly resolve imports.
124
+ namespace margelo::nitro::audiobrowser { struct Output; }
105
125
  // Forward declaration of `PlaybackActiveTrackChangedEvent` to properly resolve imports.
106
126
  namespace margelo::nitro::audiobrowser { struct PlaybackActiveTrackChangedEvent; }
107
127
  // Forward declaration of `PlaybackErrorEvent` to properly resolve imports.
108
128
  namespace margelo::nitro::audiobrowser { struct PlaybackErrorEvent; }
129
+ // Forward declaration of `PlaybackErrorKind` to properly resolve imports.
130
+ namespace margelo::nitro::audiobrowser { enum class PlaybackErrorKind; }
109
131
  // Forward declaration of `PlaybackError` to properly resolve imports.
110
132
  namespace margelo::nitro::audiobrowser { struct PlaybackError; }
111
133
  // Forward declaration of `PlaybackPlayWhenReadyChangedEvent` to properly resolve imports.
@@ -124,8 +146,6 @@ namespace margelo::nitro::audiobrowser { struct PlayerCapabilities; }
124
146
  namespace margelo::nitro::audiobrowser { struct PlayingState; }
125
147
  // Forward declaration of `Progress` to properly resolve imports.
126
148
  namespace margelo::nitro::audiobrowser { struct Progress; }
127
- // Forward declaration of `RatingType` to properly resolve imports.
128
- namespace margelo::nitro::audiobrowser { enum class RatingType; }
129
149
  // Forward declaration of `RemoteJumpBackwardEvent` to properly resolve imports.
130
150
  namespace margelo::nitro::audiobrowser { struct RemoteJumpBackwardEvent; }
131
151
  // Forward declaration of `RemoteJumpForwardEvent` to properly resolve imports.
@@ -136,8 +156,6 @@ namespace margelo::nitro::audiobrowser { struct RemotePlayIdEvent; }
136
156
  namespace margelo::nitro::audiobrowser { struct RemotePlaySearchEvent; }
137
157
  // Forward declaration of `RemoteSeekEvent` to properly resolve imports.
138
158
  namespace margelo::nitro::audiobrowser { struct RemoteSeekEvent; }
139
- // Forward declaration of `RemoteSetRatingEvent` to properly resolve imports.
140
- namespace margelo::nitro::audiobrowser { struct RemoteSetRatingEvent; }
141
159
  // Forward declaration of `RemoteSkipEvent` to properly resolve imports.
142
160
  namespace margelo::nitro::audiobrowser { struct RemoteSkipEvent; }
143
161
  // Forward declaration of `RepeatModeChangedEvent` to properly resolve imports.
@@ -158,24 +176,22 @@ namespace margelo::nitro::audiobrowser { struct SearchParams; }
158
176
  namespace margelo::nitro::audiobrowser { struct SleepTimerEndOfTrack; }
159
177
  // Forward declaration of `SleepTimerTime` to properly resolve imports.
160
178
  namespace margelo::nitro::audiobrowser { struct SleepTimerTime; }
161
- // Forward declaration of `StarRating` to properly resolve imports.
162
- namespace margelo::nitro::audiobrowser { struct StarRating; }
163
- // Forward declaration of `ThumbsRating` to properly resolve imports.
164
- namespace margelo::nitro::audiobrowser { struct ThumbsRating; }
179
+ // Forward declaration of `StallReason` to properly resolve imports.
180
+ namespace margelo::nitro::audiobrowser { enum class StallReason; }
165
181
  // Forward declaration of `TimedMetadata` to properly resolve imports.
166
182
  namespace margelo::nitro::audiobrowser { struct TimedMetadata; }
167
183
  // Forward declaration of `TrackLoadEvent` to properly resolve imports.
168
184
  namespace margelo::nitro::audiobrowser { struct TrackLoadEvent; }
169
185
  // Forward declaration of `TrackMetadata` to properly resolve imports.
170
186
  namespace margelo::nitro::audiobrowser { struct TrackMetadata; }
187
+ // Forward declaration of `TrackRequest` to properly resolve imports.
188
+ namespace margelo::nitro::audiobrowser { struct TrackRequest; }
171
189
  // Forward declaration of `TrackStyle` to properly resolve imports.
172
190
  namespace margelo::nitro::audiobrowser { enum class TrackStyle; }
173
191
  // Forward declaration of `Track` to properly resolve imports.
174
192
  namespace margelo::nitro::audiobrowser { struct Track; }
175
193
  // Forward declaration of `TransformableRequestConfig` to properly resolve imports.
176
194
  namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
177
- // Forward declaration of `UpdateOptions` to properly resolve imports.
178
- namespace margelo::nitro::audiobrowser { struct UpdateOptions; }
179
195
 
180
196
  // Forward declarations of Swift defined types
181
197
  // Forward declaration of `HybridAudioBrowserSpec_cxx` to properly resolve imports.
@@ -186,9 +202,9 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
186
202
  #include "AndroidAudioOffloadSettings.hpp"
187
203
  #include "AndroidOptions.hpp"
188
204
  #include "AndroidPlayerWakeMode.hpp"
189
- #include "AndroidUpdateOptions.hpp"
190
205
  #include "AppKilledPlaybackBehavior.hpp"
191
206
  #include "ArtworkRequestConfig.hpp"
207
+ #include "ArtworkVariants.hpp"
192
208
  #include "BatteryOptimizationStatus.hpp"
193
209
  #include "BatteryOptimizationStatusChangedEvent.hpp"
194
210
  #include "BatteryWarningPendingChangedEvent.hpp"
@@ -199,40 +215,51 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
199
215
  #include "ChapterMetadata.hpp"
200
216
  #include "EqualizerSettings.hpp"
201
217
  #include "FavoriteChangedEvent.hpp"
218
+ #include "FavoriteConfig.hpp"
219
+ #include "FavoritesMatchMode.hpp"
202
220
  #include "FormatNavigationErrorParams.hpp"
221
+ #include "FormatNowPlayingParams.hpp"
203
222
  #include "FormattedNavigationError.hpp"
204
- #include "HeartRating.hpp"
223
+ #include "Gate.hpp"
224
+ #include "GateDecision.hpp"
225
+ #include "GateEvent.hpp"
226
+ #include "GateReason.hpp"
205
227
  #include "HttpMethod.hpp"
206
228
  #include "HybridAudioBrowserSpec.hpp"
207
229
  #include "IOSCategory.hpp"
208
230
  #include "IOSCategoryMode.hpp"
209
231
  #include "IOSCategoryOptions.hpp"
210
232
  #include "IOSCategoryPolicy.hpp"
233
+ #include "IOSOptions.hpp"
211
234
  #include "ImageContext.hpp"
212
235
  #include "ImageQueryParams.hpp"
213
236
  #include "ImageRowItem.hpp"
214
237
  #include "ImageSource.hpp"
215
- #include "IosOutput.hpp"
216
- #include "IosOutputType.hpp"
238
+ #include "MediaReference.hpp"
217
239
  #include "MediaRequestConfig.hpp"
218
240
  #include "MediaTransformParams.hpp"
241
+ #include "NativeAndroidSetupOptions.hpp"
242
+ #include "NativeGateRequest.hpp"
243
+ #include "NativeIOSSetupOptions.hpp"
219
244
  #include "NativeRouteEntry.hpp"
245
+ #include "NativeUpdateOptions.hpp"
220
246
  #include "NavigationError.hpp"
221
247
  #include "NavigationErrorEvent.hpp"
222
248
  #include "NavigationErrorType.hpp"
223
249
  #include "NitroAndroidUpdateOptions.hpp"
250
+ #include "NitroIOSUpdateOptions.hpp"
224
251
  #include "NotificationButton.hpp"
225
252
  #include "NotificationButtonLayout.hpp"
226
253
  #include "NowPlayingMetadata.hpp"
227
254
  #include "NowPlayingUpdate.hpp"
228
255
  #include "Options.hpp"
229
- #include "PartialAndroidSetupPlayerOptions.hpp"
230
- #include "PartialIOSSetupPlayerOptions.hpp"
231
- #include "PercentageRating.hpp"
256
+ #include "Output.hpp"
257
+ #include "OutputType.hpp"
232
258
  #include "Playback.hpp"
233
259
  #include "PlaybackActiveTrackChangedEvent.hpp"
234
260
  #include "PlaybackError.hpp"
235
261
  #include "PlaybackErrorEvent.hpp"
262
+ #include "PlaybackErrorKind.hpp"
236
263
  #include "PlaybackPlayWhenReadyChangedEvent.hpp"
237
264
  #include "PlaybackProgressUpdatedEvent.hpp"
238
265
  #include "PlaybackQueueEndedEvent.hpp"
@@ -240,13 +267,11 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
240
267
  #include "PlayerCapabilities.hpp"
241
268
  #include "PlayingState.hpp"
242
269
  #include "Progress.hpp"
243
- #include "RatingType.hpp"
244
270
  #include "RemoteJumpBackwardEvent.hpp"
245
271
  #include "RemoteJumpForwardEvent.hpp"
246
272
  #include "RemotePlayIdEvent.hpp"
247
273
  #include "RemotePlaySearchEvent.hpp"
248
274
  #include "RemoteSeekEvent.hpp"
249
- #include "RemoteSetRatingEvent.hpp"
250
275
  #include "RemoteSkipEvent.hpp"
251
276
  #include "RepeatMode.hpp"
252
277
  #include "RepeatModeChangedEvent.hpp"
@@ -257,15 +282,14 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
257
282
  #include "SearchParams.hpp"
258
283
  #include "SleepTimerEndOfTrack.hpp"
259
284
  #include "SleepTimerTime.hpp"
260
- #include "StarRating.hpp"
261
- #include "ThumbsRating.hpp"
285
+ #include "StallReason.hpp"
262
286
  #include "TimedMetadata.hpp"
263
287
  #include "Track.hpp"
264
288
  #include "TrackLoadEvent.hpp"
265
289
  #include "TrackMetadata.hpp"
290
+ #include "TrackRequest.hpp"
266
291
  #include "TrackStyle.hpp"
267
292
  #include "TransformableRequestConfig.hpp"
268
- #include "UpdateOptions.hpp"
269
293
  #include <NitroModules/Null.hpp>
270
294
  #include <NitroModules/Promise.hpp>
271
295
  #include <NitroModules/PromiseHolder.hpp>
@@ -300,6 +324,50 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
300
324
  return optional.value();
301
325
  }
302
326
 
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
+ // pragma MARK: std::variant<std::string, ArtworkVariants>
343
+ /**
344
+ * Wrapper struct for `std::variant<std::string, ArtworkVariants>`.
345
+ * std::variant cannot be used in Swift because of a Swift bug.
346
+ * Not even specializing it works. So we create a wrapper struct.
347
+ */
348
+ struct std__variant_std__string__ArtworkVariants_ final {
349
+ std::variant<std::string, ArtworkVariants> variant;
350
+ std__variant_std__string__ArtworkVariants_(std::variant<std::string, ArtworkVariants> variant): variant(variant) { }
351
+ operator std::variant<std::string, ArtworkVariants>() const noexcept {
352
+ return variant;
353
+ }
354
+ inline size_t index() const noexcept {
355
+ return variant.index();
356
+ }
357
+ inline std::string get_0() const noexcept {
358
+ return std::get<0>(variant);
359
+ }
360
+ inline ArtworkVariants get_1() const noexcept {
361
+ return std::get<1>(variant);
362
+ }
363
+ };
364
+ inline std__variant_std__string__ArtworkVariants_ create_std__variant_std__string__ArtworkVariants_(const std::string& value) noexcept {
365
+ return std__variant_std__string__ArtworkVariants_(value);
366
+ }
367
+ inline std__variant_std__string__ArtworkVariants_ create_std__variant_std__string__ArtworkVariants_(const ArtworkVariants& value) noexcept {
368
+ return std__variant_std__string__ArtworkVariants_(value);
369
+ }
370
+
303
371
  // pragma MARK: std::optional<ImageSource>
304
372
  /**
305
373
  * Specialized version of `std::optional<ImageSource>`.
@@ -370,6 +438,21 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
370
438
  map.emplace(key, value);
371
439
  }
372
440
 
441
+ // pragma MARK: std::optional<TrackRequest>
442
+ /**
443
+ * Specialized version of `std::optional<TrackRequest>`.
444
+ */
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);
448
+ }
449
+ inline bool has_value_std__optional_TrackRequest_(const std::optional<TrackRequest>& optional) noexcept {
450
+ return optional.has_value();
451
+ }
452
+ inline TrackRequest get_std__optional_TrackRequest_(const std::optional<TrackRequest>& optional) noexcept {
453
+ return optional.value();
454
+ }
455
+
373
456
  // pragma MARK: std::optional<bool>
374
457
  /**
375
458
  * Specialized version of `std::optional<bool>`.
@@ -803,6 +886,150 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
803
886
  return Func_void_RequestConfig_Wrapper(std::move(value));
804
887
  }
805
888
 
889
+ // 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 */)>>
890
+ /**
891
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& / * request * /, const std::optional<std::unordered_map<std::string, std::string>>& / * routeParams * /)>>`.
892
+ */
893
+ using std__optional_std__function_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<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>;
894
+ inline std::optional<std::function<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_RequestConfig___const_RequestConfig_____request_____const_std__optional_std__unordered_map_std__string__std__string_______routeParams______(const std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>& value) noexcept {
895
+ return std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>(value);
896
+ }
897
+ inline bool has_value_std__optional_std__function_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<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>& optional) noexcept {
898
+ return optional.has_value();
899
+ }
900
+ inline std::function<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_RequestConfig___const_RequestConfig_____request_____const_std__optional_std__unordered_map_std__string__std__string_______routeParams______(const std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>>& optional) noexcept {
901
+ return optional.value();
902
+ }
903
+
904
+ // pragma MARK: std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig& /* request */, const std::optional<std::unordered_map<std::string, std::string>>& /* routeParams */)>
905
+ /**
906
+ * Specialized version of `std::function<std::shared_ptr<Promise<RequestConfig>>(const RequestConfig&, const std::optional<std::unordered_map<std::string, std::string>>&)>`.
907
+ */
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));
925
+ }
926
+
927
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>
928
+ /**
929
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>`.
930
+ */
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);
934
+ }
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();
937
+ }
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();
940
+ }
941
+
942
+ // pragma MARK: std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>
943
+ /**
944
+ * Specialized version of `std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>`.
945
+ */
946
+ using Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____ = std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>;
947
+ /**
948
+ * Wrapper class for a `std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>`, this can be used from Swift.
949
+ */
950
+ class Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig_____Wrapper final {
951
+ public:
952
+ explicit Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig_____Wrapper(std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>>(std::move(func))) {}
953
+ inline std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>> call() const noexcept {
954
+ auto __result = _function->operator()();
955
+ return __result;
956
+ }
957
+ private:
958
+ std::unique_ptr<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>()>> _function;
959
+ } SWIFT_NONCOPYABLE;
960
+ Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____ create_Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____(void* NON_NULL swiftClosureWrapper) noexcept;
961
+ inline Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig_____Wrapper wrap_Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____(Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____ value) noexcept {
962
+ return Func_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig_____Wrapper(std::move(value));
963
+ }
964
+
965
+ // pragma MARK: std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>
966
+ /**
967
+ * Specialized version of `std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>`.
968
+ */
969
+ using std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____ = std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>>;
970
+ inline std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>> create_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____() noexcept {
971
+ return Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>::create();
972
+ }
973
+ inline PromiseHolder<std::shared_ptr<Promise<TransformableRequestConfig>>> wrap_std__shared_ptr_Promise_std__shared_ptr_Promise_TransformableRequestConfig____(std::shared_ptr<Promise<std::shared_ptr<Promise<TransformableRequestConfig>>>> promise) noexcept {
974
+ return PromiseHolder<std::shared_ptr<Promise<TransformableRequestConfig>>>(std::move(promise));
975
+ }
976
+
977
+ // pragma MARK: std::function<void(const std::shared_ptr<Promise<TransformableRequestConfig>>& /* result */)>
978
+ /**
979
+ * Specialized version of `std::function<void(const std::shared_ptr<Promise<TransformableRequestConfig>>&)>`.
980
+ */
981
+ using Func_void_std__shared_ptr_Promise_TransformableRequestConfig__ = std::function<void(const std::shared_ptr<Promise<TransformableRequestConfig>>& /* result */)>;
982
+ /**
983
+ * Wrapper class for a `std::function<void(const std::shared_ptr<Promise<TransformableRequestConfig>>& / * result * /)>`, this can be used from Swift.
984
+ */
985
+ class Func_void_std__shared_ptr_Promise_TransformableRequestConfig___Wrapper final {
986
+ public:
987
+ explicit Func_void_std__shared_ptr_Promise_TransformableRequestConfig___Wrapper(std::function<void(const std::shared_ptr<Promise<TransformableRequestConfig>>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::shared_ptr<Promise<TransformableRequestConfig>>& /* result */)>>(std::move(func))) {}
988
+ inline void call(std::shared_ptr<Promise<TransformableRequestConfig>> result) const noexcept {
989
+ _function->operator()(result);
990
+ }
991
+ private:
992
+ std::unique_ptr<std::function<void(const std::shared_ptr<Promise<TransformableRequestConfig>>& /* result */)>> _function;
993
+ } SWIFT_NONCOPYABLE;
994
+ Func_void_std__shared_ptr_Promise_TransformableRequestConfig__ create_Func_void_std__shared_ptr_Promise_TransformableRequestConfig__(void* NON_NULL swiftClosureWrapper) noexcept;
995
+ inline Func_void_std__shared_ptr_Promise_TransformableRequestConfig___Wrapper wrap_Func_void_std__shared_ptr_Promise_TransformableRequestConfig__(Func_void_std__shared_ptr_Promise_TransformableRequestConfig__ value) noexcept {
996
+ return Func_void_std__shared_ptr_Promise_TransformableRequestConfig___Wrapper(std::move(value));
997
+ }
998
+
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
+
806
1033
  // pragma MARK: std::optional<MediaRequestConfig>
807
1034
  /**
808
1035
  * Specialized version of `std::optional<MediaRequestConfig>`.
@@ -856,6 +1083,44 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
856
1083
  return Func_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track_Wrapper(std::move(value));
857
1084
  }
858
1085
 
1086
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>>
1087
+ /**
1088
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& / * track * /)>>`.
1089
+ */
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);
1093
+ }
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 {
1095
+ return optional.has_value();
1096
+ }
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 {
1098
+ return optional.value();
1099
+ }
1100
+
1101
+ // pragma MARK: std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>
1102
+ /**
1103
+ * Specialized version of `std::function<std::shared_ptr<Promise<RequestConfig>>(const Track&)>`.
1104
+ */
1105
+ using Func_std__shared_ptr_Promise_RequestConfig___Track = std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>;
1106
+ /**
1107
+ * Wrapper class for a `std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& / * track * /)>`, this can be used from Swift.
1108
+ */
1109
+ class Func_std__shared_ptr_Promise_RequestConfig___Track_Wrapper final {
1110
+ public:
1111
+ explicit Func_std__shared_ptr_Promise_RequestConfig___Track_Wrapper(std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>>(std::move(func))) {}
1112
+ inline std::shared_ptr<Promise<RequestConfig>> call(Track track) const noexcept {
1113
+ auto __result = _function->operator()(track);
1114
+ return __result;
1115
+ }
1116
+ private:
1117
+ std::unique_ptr<std::function<std::shared_ptr<Promise<RequestConfig>>(const Track& /* track */)>> _function;
1118
+ } SWIFT_NONCOPYABLE;
1119
+ Func_std__shared_ptr_Promise_RequestConfig___Track create_Func_std__shared_ptr_Promise_RequestConfig___Track(void* NON_NULL swiftClosureWrapper) noexcept;
1120
+ inline Func_std__shared_ptr_Promise_RequestConfig___Track_Wrapper wrap_Func_std__shared_ptr_Promise_RequestConfig___Track(Func_std__shared_ptr_Promise_RequestConfig___Track value) noexcept {
1121
+ return Func_std__shared_ptr_Promise_RequestConfig___Track_Wrapper(std::move(value));
1122
+ }
1123
+
859
1124
  // pragma MARK: std::optional<ArtworkRequestConfig>
860
1125
  /**
861
1126
  * Specialized version of `std::optional<ArtworkRequestConfig>`.
@@ -924,6 +1189,44 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
924
1189
  return optional.value();
925
1190
  }
926
1191
 
1192
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>>
1193
+ /**
1194
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& / * params * /)>>`.
1195
+ */
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);
1199
+ }
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 {
1201
+ return optional.has_value();
1202
+ }
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 {
1204
+ return optional.value();
1205
+ }
1206
+
1207
+ // pragma MARK: std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>
1208
+ /**
1209
+ * Specialized version of `std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams&)>`.
1210
+ */
1211
+ using Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams = std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>;
1212
+ /**
1213
+ * Wrapper class for a `std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& / * params * /)>`, this can be used from Swift.
1214
+ */
1215
+ class Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams_Wrapper final {
1216
+ public:
1217
+ explicit Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams_Wrapper(std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>>(std::move(func))) {}
1218
+ inline std::shared_ptr<Promise<RequestConfig>> call(MediaTransformParams params) const noexcept {
1219
+ auto __result = _function->operator()(params);
1220
+ return __result;
1221
+ }
1222
+ private:
1223
+ std::unique_ptr<std::function<std::shared_ptr<Promise<RequestConfig>>(const MediaTransformParams& /* params */)>> _function;
1224
+ } SWIFT_NONCOPYABLE;
1225
+ Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams create_Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams(void* NON_NULL swiftClosureWrapper) noexcept;
1226
+ inline Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams_Wrapper wrap_Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams(Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams value) noexcept {
1227
+ return Func_std__shared_ptr_Promise_RequestConfig___MediaTransformParams_Wrapper(std::move(value));
1228
+ }
1229
+
927
1230
  // pragma MARK: std::optional<ImageQueryParams>
928
1231
  /**
929
1232
  * Specialized version of `std::optional<ImageQueryParams>`.
@@ -965,76 +1268,111 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
965
1268
  return vector;
966
1269
  }
967
1270
 
968
- // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>>
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 */)>>
969
1272
  /**
970
- * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& / * param * /)>>`.
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 * /)>>`.
971
1274
  */
972
- using std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______const_BrowserSourceCallbackParam_____param______ = std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>>;
973
- inline std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>> create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______const_BrowserSourceCallbackParam_____param______(const std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>& value) noexcept {
974
- return std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>>(value);
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);
975
1278
  }
976
- inline bool has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______const_BrowserSourceCallbackParam_____param______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>>& optional) noexcept {
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 {
977
1280
  return optional.has_value();
978
1281
  }
979
- inline std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______const_BrowserSourceCallbackParam_____param______(const std::optional<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>>& optional) noexcept {
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 {
980
1283
  return optional.value();
981
1284
  }
982
1285
 
983
- // pragma MARK: std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>
1286
+ // pragma MARK: std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam& /* param */)>
984
1287
  /**
985
- * Specialized version of `std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam&)>`.
1288
+ * Specialized version of `std::function<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>(const BrowserSourceCallbackParam&)>`.
986
1289
  */
987
- using Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam = std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>;
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 */)>;
988
1291
  /**
989
- * Wrapper class for a `std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& / * param * /)>`, this can be used from Swift.
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.
990
1293
  */
991
- class Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam_Wrapper final {
1294
+ class Func_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam_Wrapper final {
992
1295
  public:
993
- explicit Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam_Wrapper(std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>>(std::move(func))) {}
994
- inline std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>> call(BrowserSourceCallbackParam param) const noexcept {
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 {
995
1298
  auto __result = _function->operator()(param);
996
1299
  return __result;
997
1300
  }
998
1301
  private:
999
- std::unique_ptr<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>(const BrowserSourceCallbackParam& /* param */)>> _function;
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;
1000
1303
  } SWIFT_NONCOPYABLE;
1001
- Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam create_Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam(void* NON_NULL swiftClosureWrapper) noexcept;
1002
- inline Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam_Wrapper wrap_Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam(Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam value) noexcept {
1003
- return Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError______BrowserSourceCallbackParam_Wrapper(std::move(value));
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));
1004
1307
  }
1005
1308
 
1006
- // pragma MARK: std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>
1309
+ // pragma MARK: std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>
1007
1310
  /**
1008
- * Specialized version of `std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>`.
1311
+ * Specialized version of `std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>>`.
1009
1312
  */
1010
- using std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_____ = std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>>;
1011
- inline std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>> create_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_____() noexcept {
1012
- return Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>::create();
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();
1013
1316
  }
1014
- inline PromiseHolder<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>> wrap_std__shared_ptr_Promise_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_____(std::shared_ptr<Promise<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>> promise) noexcept {
1015
- return PromiseHolder<std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>(std::move(promise));
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));
1016
1319
  }
1017
1320
 
1018
- // pragma MARK: std::function<void(const std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>& /* result */)>
1321
+ // pragma MARK: std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& /* result */)>
1019
1322
  /**
1020
- * Specialized version of `std::function<void(const std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>&)>`.
1323
+ * Specialized version of `std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>&)>`.
1021
1324
  */
1022
- using Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___ = std::function<void(const std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>& /* result */)>;
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 */)>;
1023
1326
  /**
1024
- * Wrapper class for a `std::function<void(const std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>& / * result * /)>`, this can be used from Swift.
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.
1025
1328
  */
1026
- class Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____Wrapper final {
1329
+ class Func_void_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_____Wrapper final {
1027
1330
  public:
1028
- explicit Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____Wrapper(std::function<void(const std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>& /* result */)>>(std::move(func))) {}
1029
- inline void call(std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>> result) const noexcept {
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 {
1030
1333
  _function->operator()(result);
1031
1334
  }
1032
1335
  private:
1033
- std::unique_ptr<std::function<void(const std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>& /* result */)>> _function;
1336
+ std::unique_ptr<std::function<void(const std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>& /* result */)>> _function;
1034
1337
  } SWIFT_NONCOPYABLE;
1035
- Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___ create_Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___(void* NON_NULL swiftClosureWrapper) noexcept;
1036
- inline Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____Wrapper wrap_Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___(Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError___ value) noexcept {
1037
- return Func_void_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____Wrapper(std::move(value));
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));
1341
+ }
1342
+
1343
+ // pragma MARK: std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>
1344
+ /**
1345
+ * Wrapper struct for `std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>`.
1346
+ * std::variant cannot be used in Swift because of a Swift bug.
1347
+ * Not even specializing it works. So we create a wrapper struct.
1348
+ */
1349
+ struct std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____ final {
1350
+ std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>> variant;
1351
+ std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____(std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>> variant): variant(variant) { }
1352
+ operator std::variant<ResolvedTrack, BrowseError, std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>>() const noexcept {
1353
+ return variant;
1354
+ }
1355
+ inline size_t index() const noexcept {
1356
+ return variant.index();
1357
+ }
1358
+ inline ResolvedTrack get_0() const noexcept {
1359
+ return std::get<0>(variant);
1360
+ }
1361
+ inline BrowseError get_1() const noexcept {
1362
+ return std::get<1>(variant);
1363
+ }
1364
+ inline std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>> get_2() const noexcept {
1365
+ return std::get<2>(variant);
1366
+ }
1367
+ };
1368
+ inline std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____ create_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____(const ResolvedTrack& value) noexcept {
1369
+ return std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____(value);
1370
+ }
1371
+ inline std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____ create_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____(const BrowseError& value) noexcept {
1372
+ return std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____(value);
1373
+ }
1374
+ inline std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____ create_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____(const std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>& value) noexcept {
1375
+ return std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError____(value);
1038
1376
  }
1039
1377
 
1040
1378
  // pragma MARK: std::shared_ptr<Promise<std::variant<ResolvedTrack, BrowseError>>>
@@ -1293,30 +1631,76 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1293
1631
  return Func_void_Wrapper(std::move(value));
1294
1632
  }
1295
1633
 
1296
- // pragma MARK: std::optional<std::vector<CarPlayNowPlayingButton>>
1634
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>
1297
1635
  /**
1298
- * Specialized version of `std::optional<std::vector<CarPlayNowPlayingButton>>`.
1636
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& / * track * /)>>`.
1299
1637
  */
1300
- using std__optional_std__vector_CarPlayNowPlayingButton__ = std::optional<std::vector<CarPlayNowPlayingButton>>;
1301
- inline std::optional<std::vector<CarPlayNowPlayingButton>> create_std__optional_std__vector_CarPlayNowPlayingButton__(const std::vector<CarPlayNowPlayingButton>& value) noexcept {
1302
- return std::optional<std::vector<CarPlayNowPlayingButton>>(value);
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);
1303
1641
  }
1304
- inline bool has_value_std__optional_std__vector_CarPlayNowPlayingButton__(const std::optional<std::vector<CarPlayNowPlayingButton>>& optional) noexcept {
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 {
1305
1643
  return optional.has_value();
1306
1644
  }
1307
- inline std::vector<CarPlayNowPlayingButton> get_std__optional_std__vector_CarPlayNowPlayingButton__(const std::optional<std::vector<CarPlayNowPlayingButton>>& optional) noexcept {
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 {
1308
1646
  return optional.value();
1309
1647
  }
1310
1648
 
1311
- // pragma MARK: std::vector<CarPlayNowPlayingButton>
1649
+ // pragma MARK: std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>
1312
1650
  /**
1313
- * Specialized version of `std::vector<CarPlayNowPlayingButton>`.
1651
+ * Specialized version of `std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track&)>`.
1314
1652
  */
1315
- using std__vector_CarPlayNowPlayingButton_ = std::vector<CarPlayNowPlayingButton>;
1316
- inline std::vector<CarPlayNowPlayingButton> create_std__vector_CarPlayNowPlayingButton_(size_t size) noexcept {
1317
- std::vector<CarPlayNowPlayingButton> vector;
1318
- vector.reserve(size);
1319
- return vector;
1653
+ using Func_std__shared_ptr_Promise_std__optional_std__string____Track = std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>;
1654
+ /**
1655
+ * Wrapper class for a `std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& / * track * /)>`, this can be used from Swift.
1656
+ */
1657
+ class Func_std__shared_ptr_Promise_std__optional_std__string____Track_Wrapper final {
1658
+ public:
1659
+ explicit Func_std__shared_ptr_Promise_std__optional_std__string____Track_Wrapper(std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>>(std::move(func))) {}
1660
+ inline std::shared_ptr<Promise<std::optional<std::string>>> call(Track track) const noexcept {
1661
+ auto __result = _function->operator()(track);
1662
+ return __result;
1663
+ }
1664
+ private:
1665
+ std::unique_ptr<std::function<std::shared_ptr<Promise<std::optional<std::string>>>(const Track& /* track */)>> _function;
1666
+ } SWIFT_NONCOPYABLE;
1667
+ Func_std__shared_ptr_Promise_std__optional_std__string____Track create_Func_std__shared_ptr_Promise_std__optional_std__string____Track(void* NON_NULL swiftClosureWrapper) noexcept;
1668
+ inline Func_std__shared_ptr_Promise_std__optional_std__string____Track_Wrapper wrap_Func_std__shared_ptr_Promise_std__optional_std__string____Track(Func_std__shared_ptr_Promise_std__optional_std__string____Track value) noexcept {
1669
+ return Func_std__shared_ptr_Promise_std__optional_std__string____Track_Wrapper(std::move(value));
1670
+ }
1671
+
1672
+ // pragma MARK: std::shared_ptr<Promise<std::optional<std::string>>>
1673
+ /**
1674
+ * Specialized version of `std::shared_ptr<Promise<std::optional<std::string>>>`.
1675
+ */
1676
+ using std__shared_ptr_Promise_std__optional_std__string___ = std::shared_ptr<Promise<std::optional<std::string>>>;
1677
+ inline std::shared_ptr<Promise<std::optional<std::string>>> create_std__shared_ptr_Promise_std__optional_std__string___() noexcept {
1678
+ return Promise<std::optional<std::string>>::create();
1679
+ }
1680
+ inline PromiseHolder<std::optional<std::string>> wrap_std__shared_ptr_Promise_std__optional_std__string___(std::shared_ptr<Promise<std::optional<std::string>>> promise) noexcept {
1681
+ return PromiseHolder<std::optional<std::string>>(std::move(promise));
1682
+ }
1683
+
1684
+ // pragma MARK: std::function<void(const std::optional<std::string>& /* result */)>
1685
+ /**
1686
+ * Specialized version of `std::function<void(const std::optional<std::string>&)>`.
1687
+ */
1688
+ using Func_void_std__optional_std__string_ = std::function<void(const std::optional<std::string>& /* result */)>;
1689
+ /**
1690
+ * Wrapper class for a `std::function<void(const std::optional<std::string>& / * result * /)>`, this can be used from Swift.
1691
+ */
1692
+ class Func_void_std__optional_std__string__Wrapper final {
1693
+ public:
1694
+ explicit Func_void_std__optional_std__string__Wrapper(std::function<void(const std::optional<std::string>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::optional<std::string>& /* result */)>>(std::move(func))) {}
1695
+ inline void call(std::optional<std::string> result) const noexcept {
1696
+ _function->operator()(result);
1697
+ }
1698
+ private:
1699
+ std::unique_ptr<std::function<void(const std::optional<std::string>& /* result */)>> _function;
1700
+ } SWIFT_NONCOPYABLE;
1701
+ Func_void_std__optional_std__string_ create_Func_void_std__optional_std__string_(void* NON_NULL swiftClosureWrapper) noexcept;
1702
+ inline Func_void_std__optional_std__string__Wrapper wrap_Func_void_std__optional_std__string_(Func_void_std__optional_std__string_ value) noexcept {
1703
+ return Func_void_std__optional_std__string__Wrapper(std::move(value));
1320
1704
  }
1321
1705
 
1322
1706
  // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::optional<FormattedNavigationError>>>(const FormatNavigationErrorParams& /* params */)>>
@@ -1369,87 +1753,252 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1369
1753
  return PromiseHolder<std::optional<FormattedNavigationError>>(std::move(promise));
1370
1754
  }
1371
1755
 
1372
- // pragma MARK: std::optional<PartialAndroidSetupPlayerOptions>
1756
+ // pragma MARK: std::optional<Gate>
1373
1757
  /**
1374
- * Specialized version of `std::optional<PartialAndroidSetupPlayerOptions>`.
1758
+ * Specialized version of `std::optional<Gate>`.
1375
1759
  */
1376
- using std__optional_PartialAndroidSetupPlayerOptions_ = std::optional<PartialAndroidSetupPlayerOptions>;
1377
- inline std::optional<PartialAndroidSetupPlayerOptions> create_std__optional_PartialAndroidSetupPlayerOptions_(const PartialAndroidSetupPlayerOptions& value) noexcept {
1378
- return std::optional<PartialAndroidSetupPlayerOptions>(value);
1760
+ using std__optional_Gate_ = std::optional<Gate>;
1761
+ inline std::optional<Gate> create_std__optional_Gate_(const Gate& value) noexcept {
1762
+ return std::optional<Gate>(value);
1379
1763
  }
1380
- inline bool has_value_std__optional_PartialAndroidSetupPlayerOptions_(const std::optional<PartialAndroidSetupPlayerOptions>& optional) noexcept {
1764
+ inline bool has_value_std__optional_Gate_(const std::optional<Gate>& optional) noexcept {
1381
1765
  return optional.has_value();
1382
1766
  }
1383
- inline PartialAndroidSetupPlayerOptions get_std__optional_PartialAndroidSetupPlayerOptions_(const std::optional<PartialAndroidSetupPlayerOptions>& optional) noexcept {
1767
+ inline Gate get_std__optional_Gate_(const std::optional<Gate>& optional) noexcept {
1384
1768
  return optional.value();
1385
1769
  }
1386
1770
 
1387
- // pragma MARK: std::optional<std::variant<bool, AndroidAudioOffloadSettings>>
1771
+ // pragma MARK: std::shared_ptr<Promise<GateDecision>>
1388
1772
  /**
1389
- * Specialized version of `std::optional<std::variant<bool, AndroidAudioOffloadSettings>>`.
1773
+ * Specialized version of `std::shared_ptr<Promise<GateDecision>>`.
1390
1774
  */
1391
- using std__optional_std__variant_bool__AndroidAudioOffloadSettings__ = std::optional<std::variant<bool, AndroidAudioOffloadSettings>>;
1392
- inline std::optional<std::variant<bool, AndroidAudioOffloadSettings>> create_std__optional_std__variant_bool__AndroidAudioOffloadSettings__(const std::variant<bool, AndroidAudioOffloadSettings>& value) noexcept {
1393
- return std::optional<std::variant<bool, AndroidAudioOffloadSettings>>(value);
1394
- }
1395
- inline bool has_value_std__optional_std__variant_bool__AndroidAudioOffloadSettings__(const std::optional<std::variant<bool, AndroidAudioOffloadSettings>>& optional) noexcept {
1396
- return optional.has_value();
1775
+ using std__shared_ptr_Promise_GateDecision__ = std::shared_ptr<Promise<GateDecision>>;
1776
+ inline std::shared_ptr<Promise<GateDecision>> create_std__shared_ptr_Promise_GateDecision__() noexcept {
1777
+ return Promise<GateDecision>::create();
1397
1778
  }
1398
- inline std::variant<bool, AndroidAudioOffloadSettings> get_std__optional_std__variant_bool__AndroidAudioOffloadSettings__(const std::optional<std::variant<bool, AndroidAudioOffloadSettings>>& optional) noexcept {
1399
- return optional.value();
1779
+ inline PromiseHolder<GateDecision> wrap_std__shared_ptr_Promise_GateDecision__(std::shared_ptr<Promise<GateDecision>> promise) noexcept {
1780
+ return PromiseHolder<GateDecision>(std::move(promise));
1400
1781
  }
1401
1782
 
1402
- // pragma MARK: std::variant<bool, AndroidAudioOffloadSettings>
1783
+ // pragma MARK: std::function<void(const GateDecision& /* result */)>
1403
1784
  /**
1404
- * Wrapper struct for `std::variant<bool, AndroidAudioOffloadSettings>`.
1405
- * std::variant cannot be used in Swift because of a Swift bug.
1406
- * Not even specializing it works. So we create a wrapper struct.
1785
+ * Specialized version of `std::function<void(const GateDecision&)>`.
1407
1786
  */
1408
- struct std__variant_bool__AndroidAudioOffloadSettings_ final {
1409
- std::variant<bool, AndroidAudioOffloadSettings> variant;
1410
- std__variant_bool__AndroidAudioOffloadSettings_(std::variant<bool, AndroidAudioOffloadSettings> variant): variant(variant) { }
1411
- operator std::variant<bool, AndroidAudioOffloadSettings>() const noexcept {
1412
- return variant;
1413
- }
1414
- inline size_t index() const noexcept {
1415
- return variant.index();
1416
- }
1417
- inline bool get_0() const noexcept {
1418
- return std::get<0>(variant);
1419
- }
1420
- inline AndroidAudioOffloadSettings get_1() const noexcept {
1421
- return std::get<1>(variant);
1787
+ using Func_void_GateDecision = std::function<void(const GateDecision& /* result */)>;
1788
+ /**
1789
+ * Wrapper class for a `std::function<void(const GateDecision& / * result * /)>`, this can be used from Swift.
1790
+ */
1791
+ class Func_void_GateDecision_Wrapper final {
1792
+ public:
1793
+ explicit Func_void_GateDecision_Wrapper(std::function<void(const GateDecision& /* result */)>&& func): _function(std::make_unique<std::function<void(const GateDecision& /* result */)>>(std::move(func))) {}
1794
+ inline void call(GateDecision result) const noexcept {
1795
+ _function->operator()(result);
1422
1796
  }
1423
- };
1424
- inline std__variant_bool__AndroidAudioOffloadSettings_ create_std__variant_bool__AndroidAudioOffloadSettings_(bool value) noexcept {
1425
- return std__variant_bool__AndroidAudioOffloadSettings_(value);
1426
- }
1427
- inline std__variant_bool__AndroidAudioOffloadSettings_ create_std__variant_bool__AndroidAudioOffloadSettings_(const AndroidAudioOffloadSettings& value) noexcept {
1428
- return std__variant_bool__AndroidAudioOffloadSettings_(value);
1797
+ private:
1798
+ std::unique_ptr<std::function<void(const GateDecision& /* result */)>> _function;
1799
+ } SWIFT_NONCOPYABLE;
1800
+ Func_void_GateDecision create_Func_void_GateDecision(void* NON_NULL swiftClosureWrapper) noexcept;
1801
+ inline Func_void_GateDecision_Wrapper wrap_Func_void_GateDecision(Func_void_GateDecision value) noexcept {
1802
+ return Func_void_GateDecision_Wrapper(std::move(value));
1429
1803
  }
1430
1804
 
1431
- // pragma MARK: std::optional<std::variant<nitro::NullType, double>>
1805
+ // pragma MARK: std::optional<SearchParams>
1432
1806
  /**
1433
- * Specialized version of `std::optional<std::variant<nitro::NullType, double>>`.
1807
+ * Specialized version of `std::optional<SearchParams>`.
1434
1808
  */
1435
- using std__optional_std__variant_nitro__NullType__double__ = std::optional<std::variant<nitro::NullType, double>>;
1436
- inline std::optional<std::variant<nitro::NullType, double>> create_std__optional_std__variant_nitro__NullType__double__(const std::variant<nitro::NullType, double>& value) noexcept {
1437
- return std::optional<std::variant<nitro::NullType, double>>(value);
1809
+ using std__optional_SearchParams_ = std::optional<SearchParams>;
1810
+ inline std::optional<SearchParams> create_std__optional_SearchParams_(const SearchParams& value) noexcept {
1811
+ return std::optional<SearchParams>(value);
1438
1812
  }
1439
- inline bool has_value_std__optional_std__variant_nitro__NullType__double__(const std::optional<std::variant<nitro::NullType, double>>& optional) noexcept {
1813
+ inline bool has_value_std__optional_SearchParams_(const std::optional<SearchParams>& optional) noexcept {
1440
1814
  return optional.has_value();
1441
1815
  }
1442
- inline std::variant<nitro::NullType, double> get_std__optional_std__variant_nitro__NullType__double__(const std::optional<std::variant<nitro::NullType, double>>& optional) noexcept {
1816
+ inline SearchParams get_std__optional_SearchParams_(const std::optional<SearchParams>& optional) noexcept {
1443
1817
  return optional.value();
1444
1818
  }
1445
1819
 
1446
- // pragma MARK: std::variant<nitro::NullType, double>
1820
+ // pragma MARK: std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>>(const NativeGateRequest& /* request */)>
1447
1821
  /**
1448
- * Wrapper struct for `std::variant<nitro::NullType, double>`.
1449
- * std::variant cannot be used in Swift because of a Swift bug.
1450
- * Not even specializing it works. So we create a wrapper struct.
1822
+ * Specialized version of `std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>>(const NativeGateRequest&)>`.
1451
1823
  */
1452
- struct std__variant_nitro__NullType__double_ final {
1824
+ using Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest = std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>>(const NativeGateRequest& /* request */)>;
1825
+ /**
1826
+ * Wrapper class for a `std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>>(const NativeGateRequest& / * request * /)>`, this can be used from Swift.
1827
+ */
1828
+ class Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest_Wrapper final {
1829
+ public:
1830
+ explicit Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest_Wrapper(std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>>(const NativeGateRequest& /* request */)>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>>(const NativeGateRequest& /* request */)>>(std::move(func))) {}
1831
+ inline std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>> call(NativeGateRequest request) const noexcept {
1832
+ auto __result = _function->operator()(request);
1833
+ return __result;
1834
+ }
1835
+ private:
1836
+ std::unique_ptr<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>>(const NativeGateRequest& /* request */)>> _function;
1837
+ } SWIFT_NONCOPYABLE;
1838
+ Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest create_Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest(void* NON_NULL swiftClosureWrapper) noexcept;
1839
+ inline Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest_Wrapper wrap_Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest(Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest value) noexcept {
1840
+ return Func_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest_Wrapper(std::move(value));
1841
+ }
1842
+
1843
+ // pragma MARK: std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>>
1844
+ /**
1845
+ * Specialized version of `std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>>`.
1846
+ */
1847
+ using std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision____ = std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>>;
1848
+ inline std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>> create_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision____() noexcept {
1849
+ return Promise<std::shared_ptr<Promise<GateDecision>>>::create();
1850
+ }
1851
+ inline PromiseHolder<std::shared_ptr<Promise<GateDecision>>> wrap_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision____(std::shared_ptr<Promise<std::shared_ptr<Promise<GateDecision>>>> promise) noexcept {
1852
+ return PromiseHolder<std::shared_ptr<Promise<GateDecision>>>(std::move(promise));
1853
+ }
1854
+
1855
+ // pragma MARK: std::function<void(const std::shared_ptr<Promise<GateDecision>>& /* result */)>
1856
+ /**
1857
+ * Specialized version of `std::function<void(const std::shared_ptr<Promise<GateDecision>>&)>`.
1858
+ */
1859
+ using Func_void_std__shared_ptr_Promise_GateDecision__ = std::function<void(const std::shared_ptr<Promise<GateDecision>>& /* result */)>;
1860
+ /**
1861
+ * Wrapper class for a `std::function<void(const std::shared_ptr<Promise<GateDecision>>& / * result * /)>`, this can be used from Swift.
1862
+ */
1863
+ class Func_void_std__shared_ptr_Promise_GateDecision___Wrapper final {
1864
+ public:
1865
+ explicit Func_void_std__shared_ptr_Promise_GateDecision___Wrapper(std::function<void(const std::shared_ptr<Promise<GateDecision>>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::shared_ptr<Promise<GateDecision>>& /* result */)>>(std::move(func))) {}
1866
+ inline void call(std::shared_ptr<Promise<GateDecision>> result) const noexcept {
1867
+ _function->operator()(result);
1868
+ }
1869
+ private:
1870
+ std::unique_ptr<std::function<void(const std::shared_ptr<Promise<GateDecision>>& /* result */)>> _function;
1871
+ } SWIFT_NONCOPYABLE;
1872
+ Func_void_std__shared_ptr_Promise_GateDecision__ create_Func_void_std__shared_ptr_Promise_GateDecision__(void* NON_NULL swiftClosureWrapper) noexcept;
1873
+ inline Func_void_std__shared_ptr_Promise_GateDecision___Wrapper wrap_Func_void_std__shared_ptr_Promise_GateDecision__(Func_void_std__shared_ptr_Promise_GateDecision__ value) noexcept {
1874
+ return Func_void_std__shared_ptr_Promise_GateDecision___Wrapper(std::move(value));
1875
+ }
1876
+
1877
+ // pragma MARK: std::function<void(const GateEvent& /* event */)>
1878
+ /**
1879
+ * Specialized version of `std::function<void(const GateEvent&)>`.
1880
+ */
1881
+ using Func_void_GateEvent = std::function<void(const GateEvent& /* event */)>;
1882
+ /**
1883
+ * Wrapper class for a `std::function<void(const GateEvent& / * event * /)>`, this can be used from Swift.
1884
+ */
1885
+ class Func_void_GateEvent_Wrapper final {
1886
+ public:
1887
+ explicit Func_void_GateEvent_Wrapper(std::function<void(const GateEvent& /* event */)>&& func): _function(std::make_unique<std::function<void(const GateEvent& /* event */)>>(std::move(func))) {}
1888
+ inline void call(GateEvent event) const noexcept {
1889
+ _function->operator()(event);
1890
+ }
1891
+ private:
1892
+ std::unique_ptr<std::function<void(const GateEvent& /* event */)>> _function;
1893
+ } SWIFT_NONCOPYABLE;
1894
+ Func_void_GateEvent create_Func_void_GateEvent(void* NON_NULL swiftClosureWrapper) noexcept;
1895
+ inline Func_void_GateEvent_Wrapper wrap_Func_void_GateEvent(Func_void_GateEvent value) noexcept {
1896
+ return Func_void_GateEvent_Wrapper(std::move(value));
1897
+ }
1898
+
1899
+ // pragma MARK: std::function<void(bool /* connected */)>
1900
+ /**
1901
+ * Specialized version of `std::function<void(bool)>`.
1902
+ */
1903
+ using Func_void_bool = std::function<void(bool /* connected */)>;
1904
+ /**
1905
+ * Wrapper class for a `std::function<void(bool / * connected * /)>`, this can be used from Swift.
1906
+ */
1907
+ class Func_void_bool_Wrapper final {
1908
+ public:
1909
+ explicit Func_void_bool_Wrapper(std::function<void(bool /* connected */)>&& func): _function(std::make_unique<std::function<void(bool /* connected */)>>(std::move(func))) {}
1910
+ inline void call(bool connected) const noexcept {
1911
+ _function->operator()(connected);
1912
+ }
1913
+ private:
1914
+ std::unique_ptr<std::function<void(bool /* connected */)>> _function;
1915
+ } SWIFT_NONCOPYABLE;
1916
+ Func_void_bool create_Func_void_bool(void* NON_NULL swiftClosureWrapper) noexcept;
1917
+ inline Func_void_bool_Wrapper wrap_Func_void_bool(Func_void_bool value) noexcept {
1918
+ return Func_void_bool_Wrapper(std::move(value));
1919
+ }
1920
+
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
+ // pragma MARK: std::variant<bool, AndroidAudioOffloadSettings>
1952
+ /**
1953
+ * Wrapper struct for `std::variant<bool, AndroidAudioOffloadSettings>`.
1954
+ * std::variant cannot be used in Swift because of a Swift bug.
1955
+ * Not even specializing it works. So we create a wrapper struct.
1956
+ */
1957
+ struct std__variant_bool__AndroidAudioOffloadSettings_ final {
1958
+ std::variant<bool, AndroidAudioOffloadSettings> variant;
1959
+ std__variant_bool__AndroidAudioOffloadSettings_(std::variant<bool, AndroidAudioOffloadSettings> variant): variant(variant) { }
1960
+ operator std::variant<bool, AndroidAudioOffloadSettings>() const noexcept {
1961
+ return variant;
1962
+ }
1963
+ inline size_t index() const noexcept {
1964
+ return variant.index();
1965
+ }
1966
+ inline bool get_0() const noexcept {
1967
+ return std::get<0>(variant);
1968
+ }
1969
+ inline AndroidAudioOffloadSettings get_1() const noexcept {
1970
+ return std::get<1>(variant);
1971
+ }
1972
+ };
1973
+ inline std__variant_bool__AndroidAudioOffloadSettings_ create_std__variant_bool__AndroidAudioOffloadSettings_(bool value) noexcept {
1974
+ return std__variant_bool__AndroidAudioOffloadSettings_(value);
1975
+ }
1976
+ inline std__variant_bool__AndroidAudioOffloadSettings_ create_std__variant_bool__AndroidAudioOffloadSettings_(const AndroidAudioOffloadSettings& value) noexcept {
1977
+ return std__variant_bool__AndroidAudioOffloadSettings_(value);
1978
+ }
1979
+
1980
+ // pragma MARK: std::optional<std::variant<nitro::NullType, double>>
1981
+ /**
1982
+ * Specialized version of `std::optional<std::variant<nitro::NullType, double>>`.
1983
+ */
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);
1987
+ }
1988
+ inline bool has_value_std__optional_std__variant_nitro__NullType__double__(const std::optional<std::variant<nitro::NullType, double>>& optional) noexcept {
1989
+ return optional.has_value();
1990
+ }
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 {
1992
+ return optional.value();
1993
+ }
1994
+
1995
+ // pragma MARK: std::variant<nitro::NullType, double>
1996
+ /**
1997
+ * Wrapper struct for `std::variant<nitro::NullType, double>`.
1998
+ * std::variant cannot be used in Swift because of a Swift bug.
1999
+ * Not even specializing it works. So we create a wrapper struct.
2000
+ */
2001
+ struct std__variant_nitro__NullType__double_ final {
1453
2002
  std::variant<nitro::NullType, double> variant;
1454
2003
  std__variant_nitro__NullType__double_(std::variant<nitro::NullType, double> variant): variant(variant) { }
1455
2004
  operator std::variant<nitro::NullType, double>() const noexcept {
@@ -1502,18 +2051,18 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1502
2051
  return optional.value();
1503
2052
  }
1504
2053
 
1505
- // pragma MARK: std::optional<PartialIOSSetupPlayerOptions>
2054
+ // pragma MARK: std::optional<NativeIOSSetupOptions>
1506
2055
  /**
1507
- * Specialized version of `std::optional<PartialIOSSetupPlayerOptions>`.
2056
+ * Specialized version of `std::optional<NativeIOSSetupOptions>`.
1508
2057
  */
1509
- using std__optional_PartialIOSSetupPlayerOptions_ = std::optional<PartialIOSSetupPlayerOptions>;
1510
- inline std::optional<PartialIOSSetupPlayerOptions> create_std__optional_PartialIOSSetupPlayerOptions_(const PartialIOSSetupPlayerOptions& value) noexcept {
1511
- return std::optional<PartialIOSSetupPlayerOptions>(value);
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);
1512
2061
  }
1513
- inline bool has_value_std__optional_PartialIOSSetupPlayerOptions_(const std::optional<PartialIOSSetupPlayerOptions>& optional) noexcept {
2062
+ inline bool has_value_std__optional_NativeIOSSetupOptions_(const std::optional<NativeIOSSetupOptions>& optional) noexcept {
1514
2063
  return optional.has_value();
1515
2064
  }
1516
- inline PartialIOSSetupPlayerOptions get_std__optional_PartialIOSSetupPlayerOptions_(const std::optional<PartialIOSSetupPlayerOptions>& optional) noexcept {
2065
+ inline NativeIOSSetupOptions get_std__optional_NativeIOSSetupOptions_(const std::optional<NativeIOSSetupOptions>& optional) noexcept {
1517
2066
  return optional.value();
1518
2067
  }
1519
2068
 
@@ -1588,50 +2137,21 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1588
2137
  return optional.value();
1589
2138
  }
1590
2139
 
1591
- // pragma MARK: std::optional<std::variant<bool, RetryConfig>>
2140
+ // pragma MARK: std::optional<NativeUpdateOptions>
1592
2141
  /**
1593
- * Specialized version of `std::optional<std::variant<bool, RetryConfig>>`.
2142
+ * Specialized version of `std::optional<NativeUpdateOptions>`.
1594
2143
  */
1595
- using std__optional_std__variant_bool__RetryConfig__ = std::optional<std::variant<bool, RetryConfig>>;
1596
- inline std::optional<std::variant<bool, RetryConfig>> create_std__optional_std__variant_bool__RetryConfig__(const std::variant<bool, RetryConfig>& value) noexcept {
1597
- return std::optional<std::variant<bool, RetryConfig>>(value);
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);
1598
2147
  }
1599
- inline bool has_value_std__optional_std__variant_bool__RetryConfig__(const std::optional<std::variant<bool, RetryConfig>>& optional) noexcept {
2148
+ inline bool has_value_std__optional_NativeUpdateOptions_(const std::optional<NativeUpdateOptions>& optional) noexcept {
1600
2149
  return optional.has_value();
1601
2150
  }
1602
- inline std::variant<bool, RetryConfig> get_std__optional_std__variant_bool__RetryConfig__(const std::optional<std::variant<bool, RetryConfig>>& optional) noexcept {
2151
+ inline NativeUpdateOptions get_std__optional_NativeUpdateOptions_(const std::optional<NativeUpdateOptions>& optional) noexcept {
1603
2152
  return optional.value();
1604
2153
  }
1605
2154
 
1606
- // pragma MARK: std::variant<bool, RetryConfig>
1607
- /**
1608
- * Wrapper struct for `std::variant<bool, RetryConfig>`.
1609
- * std::variant cannot be used in Swift because of a Swift bug.
1610
- * Not even specializing it works. So we create a wrapper struct.
1611
- */
1612
- struct std__variant_bool__RetryConfig_ final {
1613
- std::variant<bool, RetryConfig> variant;
1614
- std__variant_bool__RetryConfig_(std::variant<bool, RetryConfig> variant): variant(variant) { }
1615
- operator std::variant<bool, RetryConfig>() const noexcept {
1616
- return variant;
1617
- }
1618
- inline size_t index() const noexcept {
1619
- return variant.index();
1620
- }
1621
- inline bool get_0() const noexcept {
1622
- return std::get<0>(variant);
1623
- }
1624
- inline RetryConfig get_1() const noexcept {
1625
- return std::get<1>(variant);
1626
- }
1627
- };
1628
- inline std__variant_bool__RetryConfig_ create_std__variant_bool__RetryConfig_(bool value) noexcept {
1629
- return std__variant_bool__RetryConfig_(value);
1630
- }
1631
- inline std__variant_bool__RetryConfig_ create_std__variant_bool__RetryConfig_(const RetryConfig& value) noexcept {
1632
- return std__variant_bool__RetryConfig_(value);
1633
- }
1634
-
1635
2155
  // pragma MARK: std::optional<NitroAndroidUpdateOptions>
1636
2156
  /**
1637
2157
  * Specialized version of `std::optional<NitroAndroidUpdateOptions>`.
@@ -1662,21 +2182,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1662
2182
  return optional.value();
1663
2183
  }
1664
2184
 
1665
- // pragma MARK: std::optional<RatingType>
1666
- /**
1667
- * Specialized version of `std::optional<RatingType>`.
1668
- */
1669
- using std__optional_RatingType_ = std::optional<RatingType>;
1670
- inline std::optional<RatingType> create_std__optional_RatingType_(const RatingType& value) noexcept {
1671
- return std::optional<RatingType>(value);
1672
- }
1673
- inline bool has_value_std__optional_RatingType_(const std::optional<RatingType>& optional) noexcept {
1674
- return optional.has_value();
1675
- }
1676
- inline RatingType get_std__optional_RatingType_(const std::optional<RatingType>& optional) noexcept {
1677
- return optional.value();
1678
- }
1679
-
1680
2185
  // pragma MARK: std::optional<std::variant<nitro::NullType, NotificationButtonLayout>>
1681
2186
  /**
1682
2187
  * Specialized version of `std::optional<std::variant<nitro::NullType, NotificationButtonLayout>>`.
@@ -1717,104 +2222,395 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1717
2222
  inline std__variant_nitro__NullType__NotificationButtonLayout_ create_std__variant_nitro__NullType__NotificationButtonLayout_(nitro::NullType value) noexcept {
1718
2223
  return std__variant_nitro__NullType__NotificationButtonLayout_(value);
1719
2224
  }
1720
- inline std__variant_nitro__NullType__NotificationButtonLayout_ create_std__variant_nitro__NullType__NotificationButtonLayout_(const NotificationButtonLayout& value) noexcept {
1721
- return std__variant_nitro__NullType__NotificationButtonLayout_(value);
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);
2227
+ }
2228
+
2229
+ // pragma MARK: std::optional<NotificationButton>
2230
+ /**
2231
+ * Specialized version of `std::optional<NotificationButton>`.
2232
+ */
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);
2236
+ }
2237
+ inline bool has_value_std__optional_NotificationButton_(const std::optional<NotificationButton>& optional) noexcept {
2238
+ return optional.has_value();
2239
+ }
2240
+ inline NotificationButton get_std__optional_NotificationButton_(const std::optional<NotificationButton>& optional) noexcept {
2241
+ return optional.value();
2242
+ }
2243
+
2244
+ // pragma MARK: std::optional<std::vector<NotificationButton>>
2245
+ /**
2246
+ * Specialized version of `std::optional<std::vector<NotificationButton>>`.
2247
+ */
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);
2251
+ }
2252
+ inline bool has_value_std__optional_std__vector_NotificationButton__(const std::optional<std::vector<NotificationButton>>& optional) noexcept {
2253
+ return optional.has_value();
2254
+ }
2255
+ inline std::vector<NotificationButton> get_std__optional_std__vector_NotificationButton__(const std::optional<std::vector<NotificationButton>>& optional) noexcept {
2256
+ return optional.value();
2257
+ }
2258
+
2259
+ // pragma MARK: std::vector<NotificationButton>
2260
+ /**
2261
+ * Specialized version of `std::vector<NotificationButton>`.
2262
+ */
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;
2266
+ vector.reserve(size);
2267
+ return vector;
2268
+ }
2269
+
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
+ // pragma MARK: std::optional<std::vector<double>>
2286
+ /**
2287
+ * Specialized version of `std::optional<std::vector<double>>`.
2288
+ */
2289
+ using std__optional_std__vector_double__ = std::optional<std::vector<double>>;
2290
+ inline std::optional<std::vector<double>> create_std__optional_std__vector_double__(const std::vector<double>& value) noexcept {
2291
+ return std::optional<std::vector<double>>(value);
2292
+ }
2293
+ inline bool has_value_std__optional_std__vector_double__(const std::optional<std::vector<double>>& optional) noexcept {
2294
+ return optional.has_value();
2295
+ }
2296
+ inline std::vector<double> get_std__optional_std__vector_double__(const std::optional<std::vector<double>>& optional) noexcept {
2297
+ return optional.value();
2298
+ }
2299
+
2300
+ // pragma MARK: std::vector<double>
2301
+ /**
2302
+ * Specialized version of `std::vector<double>`.
2303
+ */
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;
2307
+ vector.reserve(size);
2308
+ return vector;
2309
+ }
2310
+
2311
+ // pragma MARK: std::optional<std::vector<CarPlayNowPlayingButton>>
2312
+ /**
2313
+ * Specialized version of `std::optional<std::vector<CarPlayNowPlayingButton>>`.
2314
+ */
2315
+ using std__optional_std__vector_CarPlayNowPlayingButton__ = std::optional<std::vector<CarPlayNowPlayingButton>>;
2316
+ inline std::optional<std::vector<CarPlayNowPlayingButton>> create_std__optional_std__vector_CarPlayNowPlayingButton__(const std::vector<CarPlayNowPlayingButton>& value) noexcept {
2317
+ return std::optional<std::vector<CarPlayNowPlayingButton>>(value);
2318
+ }
2319
+ inline bool has_value_std__optional_std__vector_CarPlayNowPlayingButton__(const std::optional<std::vector<CarPlayNowPlayingButton>>& optional) noexcept {
2320
+ return optional.has_value();
2321
+ }
2322
+ inline std::vector<CarPlayNowPlayingButton> get_std__optional_std__vector_CarPlayNowPlayingButton__(const std::optional<std::vector<CarPlayNowPlayingButton>>& optional) noexcept {
2323
+ return optional.value();
2324
+ }
2325
+
2326
+ // pragma MARK: std::vector<CarPlayNowPlayingButton>
2327
+ /**
2328
+ * Specialized version of `std::vector<CarPlayNowPlayingButton>`.
2329
+ */
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;
2335
+ }
2336
+
2337
+ // pragma MARK: std::optional<PlayerCapabilities>
2338
+ /**
2339
+ * Specialized version of `std::optional<PlayerCapabilities>`.
2340
+ */
2341
+ using std__optional_PlayerCapabilities_ = std::optional<PlayerCapabilities>;
2342
+ inline std::optional<PlayerCapabilities> create_std__optional_PlayerCapabilities_(const PlayerCapabilities& value) noexcept {
2343
+ return std::optional<PlayerCapabilities>(value);
2344
+ }
2345
+ inline bool has_value_std__optional_PlayerCapabilities_(const std::optional<PlayerCapabilities>& optional) noexcept {
2346
+ return optional.has_value();
2347
+ }
2348
+ inline PlayerCapabilities get_std__optional_PlayerCapabilities_(const std::optional<PlayerCapabilities>& optional) noexcept {
2349
+ return optional.value();
2350
+ }
2351
+
2352
+ // pragma MARK: std::optional<std::variant<bool, FavoriteConfig>>
2353
+ /**
2354
+ * Specialized version of `std::optional<std::variant<bool, FavoriteConfig>>`.
2355
+ */
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);
2359
+ }
2360
+ inline bool has_value_std__optional_std__variant_bool__FavoriteConfig__(const std::optional<std::variant<bool, FavoriteConfig>>& optional) noexcept {
2361
+ return optional.has_value();
2362
+ }
2363
+ inline std::variant<bool, FavoriteConfig> get_std__optional_std__variant_bool__FavoriteConfig__(const std::optional<std::variant<bool, FavoriteConfig>>& optional) noexcept {
2364
+ return optional.value();
2365
+ }
2366
+
2367
+ // pragma MARK: std::variant<bool, FavoriteConfig>
2368
+ /**
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.
2372
+ */
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);
2391
+ }
2392
+ inline std__variant_bool__FavoriteConfig_ create_std__variant_bool__FavoriteConfig_(const FavoriteConfig& value) noexcept {
2393
+ return std__variant_bool__FavoriteConfig_(value);
2394
+ }
2395
+
2396
+ // pragma MARK: std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>
2397
+ /**
2398
+ * Specialized version of `std::optional<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& / * params * /)>>`.
2399
+ */
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);
2403
+ }
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 {
2405
+ return optional.has_value();
2406
+ }
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 {
2408
+ return optional.value();
2409
+ }
2410
+
2411
+ // pragma MARK: std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>
2412
+ /**
2413
+ * Specialized version of `std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams&)>`.
2414
+ */
2415
+ using Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams = std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>;
2416
+ /**
2417
+ * Wrapper class for a `std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& / * params * /)>`, this can be used from Swift.
2418
+ */
2419
+ class Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams_Wrapper final {
2420
+ public:
2421
+ explicit Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams_Wrapper(std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>>(std::move(func))) {}
2422
+ inline std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>> call(FormatNowPlayingParams params) const noexcept {
2423
+ auto __result = _function->operator()(params);
2424
+ return __result;
2425
+ }
2426
+ private:
2427
+ std::unique_ptr<std::function<std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>(const FormatNowPlayingParams& /* params */)>> _function;
2428
+ } SWIFT_NONCOPYABLE;
2429
+ Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams create_Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams(void* NON_NULL swiftClosureWrapper) noexcept;
2430
+ inline Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams_Wrapper wrap_Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams(Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams value) noexcept {
2431
+ return Func_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams_Wrapper(std::move(value));
2432
+ }
2433
+
2434
+ // pragma MARK: std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>
2435
+ /**
2436
+ * Specialized version of `std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>`.
2437
+ */
2438
+ using std__shared_ptr_Promise_std__optional_NowPlayingUpdate___ = std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>>;
2439
+ inline std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>> create_std__shared_ptr_Promise_std__optional_NowPlayingUpdate___() noexcept {
2440
+ return Promise<std::optional<NowPlayingUpdate>>::create();
2441
+ }
2442
+ inline PromiseHolder<std::optional<NowPlayingUpdate>> wrap_std__shared_ptr_Promise_std__optional_NowPlayingUpdate___(std::shared_ptr<Promise<std::optional<NowPlayingUpdate>>> promise) noexcept {
2443
+ return PromiseHolder<std::optional<NowPlayingUpdate>>(std::move(promise));
2444
+ }
2445
+
2446
+ // pragma MARK: std::function<void(const std::optional<NowPlayingUpdate>& /* result */)>
2447
+ /**
2448
+ * Specialized version of `std::function<void(const std::optional<NowPlayingUpdate>&)>`.
2449
+ */
2450
+ using Func_void_std__optional_NowPlayingUpdate_ = std::function<void(const std::optional<NowPlayingUpdate>& /* result */)>;
2451
+ /**
2452
+ * Wrapper class for a `std::function<void(const std::optional<NowPlayingUpdate>& / * result * /)>`, this can be used from Swift.
2453
+ */
2454
+ class Func_void_std__optional_NowPlayingUpdate__Wrapper final {
2455
+ public:
2456
+ explicit Func_void_std__optional_NowPlayingUpdate__Wrapper(std::function<void(const std::optional<NowPlayingUpdate>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::optional<NowPlayingUpdate>& /* result */)>>(std::move(func))) {}
2457
+ inline void call(std::optional<NowPlayingUpdate> result) const noexcept {
2458
+ _function->operator()(result);
2459
+ }
2460
+ private:
2461
+ std::unique_ptr<std::function<void(const std::optional<NowPlayingUpdate>& /* result */)>> _function;
2462
+ } SWIFT_NONCOPYABLE;
2463
+ Func_void_std__optional_NowPlayingUpdate_ create_Func_void_std__optional_NowPlayingUpdate_(void* NON_NULL swiftClosureWrapper) noexcept;
2464
+ inline Func_void_std__optional_NowPlayingUpdate__Wrapper wrap_Func_void_std__optional_NowPlayingUpdate_(Func_void_std__optional_NowPlayingUpdate_ value) noexcept {
2465
+ return Func_void_std__optional_NowPlayingUpdate__Wrapper(std::move(value));
2466
+ }
2467
+
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();
1722
2481
  }
1723
2482
 
1724
- // pragma MARK: std::optional<NotificationButton>
2483
+ // pragma MARK: std::optional<TimedMetadata>
1725
2484
  /**
1726
- * Specialized version of `std::optional<NotificationButton>`.
2485
+ * Specialized version of `std::optional<TimedMetadata>`.
1727
2486
  */
1728
- using std__optional_NotificationButton_ = std::optional<NotificationButton>;
1729
- inline std::optional<NotificationButton> create_std__optional_NotificationButton_(const NotificationButton& value) noexcept {
1730
- return std::optional<NotificationButton>(value);
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);
1731
2490
  }
1732
- inline bool has_value_std__optional_NotificationButton_(const std::optional<NotificationButton>& optional) noexcept {
2491
+ inline bool has_value_std__optional_TimedMetadata_(const std::optional<TimedMetadata>& optional) noexcept {
1733
2492
  return optional.has_value();
1734
2493
  }
1735
- inline NotificationButton get_std__optional_NotificationButton_(const std::optional<NotificationButton>& optional) noexcept {
2494
+ inline TimedMetadata get_std__optional_TimedMetadata_(const std::optional<TimedMetadata>& optional) noexcept {
1736
2495
  return optional.value();
1737
2496
  }
1738
2497
 
1739
- // pragma MARK: std::optional<std::vector<NotificationButton>>
2498
+ // pragma MARK: std::optional<StallReason>
1740
2499
  /**
1741
- * Specialized version of `std::optional<std::vector<NotificationButton>>`.
2500
+ * Specialized version of `std::optional<StallReason>`.
1742
2501
  */
1743
- using std__optional_std__vector_NotificationButton__ = std::optional<std::vector<NotificationButton>>;
1744
- inline std::optional<std::vector<NotificationButton>> create_std__optional_std__vector_NotificationButton__(const std::vector<NotificationButton>& value) noexcept {
1745
- return std::optional<std::vector<NotificationButton>>(value);
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);
1746
2505
  }
1747
- inline bool has_value_std__optional_std__vector_NotificationButton__(const std::optional<std::vector<NotificationButton>>& optional) noexcept {
2506
+ inline bool has_value_std__optional_StallReason_(const std::optional<StallReason>& optional) noexcept {
1748
2507
  return optional.has_value();
1749
2508
  }
1750
- inline std::vector<NotificationButton> get_std__optional_std__vector_NotificationButton__(const std::optional<std::vector<NotificationButton>>& optional) noexcept {
2509
+ inline StallReason get_std__optional_StallReason_(const std::optional<StallReason>& optional) noexcept {
1751
2510
  return optional.value();
1752
2511
  }
1753
2512
 
1754
- // pragma MARK: std::vector<NotificationButton>
2513
+ // pragma MARK: std::optional<PlaybackError>
1755
2514
  /**
1756
- * Specialized version of `std::vector<NotificationButton>`.
2515
+ * Specialized version of `std::optional<PlaybackError>`.
1757
2516
  */
1758
- using std__vector_NotificationButton_ = std::vector<NotificationButton>;
1759
- inline std::vector<NotificationButton> create_std__vector_NotificationButton_(size_t size) noexcept {
1760
- std::vector<NotificationButton> vector;
1761
- vector.reserve(size);
1762
- return vector;
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);
2520
+ }
2521
+ inline bool has_value_std__optional_PlaybackError_(const std::optional<PlaybackError>& optional) noexcept {
2522
+ return optional.has_value();
2523
+ }
2524
+ inline PlaybackError get_std__optional_PlaybackError_(const std::optional<PlaybackError>& optional) noexcept {
2525
+ return optional.value();
1763
2526
  }
1764
2527
 
1765
- // pragma MARK: std::optional<PlayerCapabilities>
2528
+ // pragma MARK: std::optional<RepeatMode>
1766
2529
  /**
1767
- * Specialized version of `std::optional<PlayerCapabilities>`.
2530
+ * Specialized version of `std::optional<RepeatMode>`.
1768
2531
  */
1769
- using std__optional_PlayerCapabilities_ = std::optional<PlayerCapabilities>;
1770
- inline std::optional<PlayerCapabilities> create_std__optional_PlayerCapabilities_(const PlayerCapabilities& value) noexcept {
1771
- return std::optional<PlayerCapabilities>(value);
2532
+ using std__optional_RepeatMode_ = std::optional<RepeatMode>;
2533
+ inline std::optional<RepeatMode> create_std__optional_RepeatMode_(const RepeatMode& value) noexcept {
2534
+ return std::optional<RepeatMode>(value);
1772
2535
  }
1773
- inline bool has_value_std__optional_PlayerCapabilities_(const std::optional<PlayerCapabilities>& optional) noexcept {
2536
+ inline bool has_value_std__optional_RepeatMode_(const std::optional<RepeatMode>& optional) noexcept {
1774
2537
  return optional.has_value();
1775
2538
  }
1776
- inline PlayerCapabilities get_std__optional_PlayerCapabilities_(const std::optional<PlayerCapabilities>& optional) noexcept {
2539
+ inline RepeatMode get_std__optional_RepeatMode_(const std::optional<RepeatMode>& optional) noexcept {
1777
2540
  return optional.value();
1778
2541
  }
1779
2542
 
1780
- // pragma MARK: std::optional<std::vector<double>>
2543
+ // pragma MARK: std::optional<std::variant<bool, RetryConfig>>
1781
2544
  /**
1782
- * Specialized version of `std::optional<std::vector<double>>`.
2545
+ * Specialized version of `std::optional<std::variant<bool, RetryConfig>>`.
1783
2546
  */
1784
- using std__optional_std__vector_double__ = std::optional<std::vector<double>>;
1785
- inline std::optional<std::vector<double>> create_std__optional_std__vector_double__(const std::vector<double>& value) noexcept {
1786
- return std::optional<std::vector<double>>(value);
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);
1787
2550
  }
1788
- inline bool has_value_std__optional_std__vector_double__(const std::optional<std::vector<double>>& optional) noexcept {
2551
+ inline bool has_value_std__optional_std__variant_bool__RetryConfig__(const std::optional<std::variant<bool, RetryConfig>>& optional) noexcept {
1789
2552
  return optional.has_value();
1790
2553
  }
1791
- inline std::vector<double> get_std__optional_std__vector_double__(const std::optional<std::vector<double>>& optional) noexcept {
2554
+ inline std::variant<bool, RetryConfig> get_std__optional_std__variant_bool__RetryConfig__(const std::optional<std::variant<bool, RetryConfig>>& optional) noexcept {
1792
2555
  return optional.value();
1793
2556
  }
1794
2557
 
1795
- // pragma MARK: std::vector<double>
2558
+ // pragma MARK: std::variant<bool, RetryConfig>
1796
2559
  /**
1797
- * Specialized version of `std::vector<double>`.
2560
+ * Wrapper struct for `std::variant<bool, RetryConfig>`.
2561
+ * std::variant cannot be used in Swift because of a Swift bug.
2562
+ * Not even specializing it works. So we create a wrapper struct.
1798
2563
  */
1799
- using std__vector_double_ = std::vector<double>;
1800
- inline std::vector<double> create_std__vector_double_(size_t size) noexcept {
1801
- std::vector<double> vector;
1802
- vector.reserve(size);
1803
- return vector;
2564
+ struct std__variant_bool__RetryConfig_ final {
2565
+ std::variant<bool, RetryConfig> variant;
2566
+ std__variant_bool__RetryConfig_(std::variant<bool, RetryConfig> variant): variant(variant) { }
2567
+ operator std::variant<bool, RetryConfig>() const noexcept {
2568
+ return variant;
2569
+ }
2570
+ inline size_t index() const noexcept {
2571
+ return variant.index();
2572
+ }
2573
+ inline bool get_0() const noexcept {
2574
+ return std::get<0>(variant);
2575
+ }
2576
+ inline RetryConfig get_1() const noexcept {
2577
+ return std::get<1>(variant);
2578
+ }
2579
+ };
2580
+ inline std__variant_bool__RetryConfig_ create_std__variant_bool__RetryConfig_(bool value) noexcept {
2581
+ return std__variant_bool__RetryConfig_(value);
2582
+ }
2583
+ inline std__variant_bool__RetryConfig_ create_std__variant_bool__RetryConfig_(const RetryConfig& value) noexcept {
2584
+ return std__variant_bool__RetryConfig_(value);
2585
+ }
2586
+
2587
+ // pragma MARK: std::optional<AndroidOptions>
2588
+ /**
2589
+ * Specialized version of `std::optional<AndroidOptions>`.
2590
+ */
2591
+ using std__optional_AndroidOptions_ = std::optional<AndroidOptions>;
2592
+ inline std::optional<AndroidOptions> create_std__optional_AndroidOptions_(const AndroidOptions& value) noexcept {
2593
+ return std::optional<AndroidOptions>(value);
2594
+ }
2595
+ inline bool has_value_std__optional_AndroidOptions_(const std::optional<AndroidOptions>& optional) noexcept {
2596
+ return optional.has_value();
2597
+ }
2598
+ inline AndroidOptions get_std__optional_AndroidOptions_(const std::optional<AndroidOptions>& optional) noexcept {
2599
+ return optional.value();
1804
2600
  }
1805
2601
 
1806
- // pragma MARK: std::optional<AndroidUpdateOptions>
2602
+ // pragma MARK: std::optional<IOSOptions>
1807
2603
  /**
1808
- * Specialized version of `std::optional<AndroidUpdateOptions>`.
2604
+ * Specialized version of `std::optional<IOSOptions>`.
1809
2605
  */
1810
- using std__optional_AndroidUpdateOptions_ = std::optional<AndroidUpdateOptions>;
1811
- inline std::optional<AndroidUpdateOptions> create_std__optional_AndroidUpdateOptions_(const AndroidUpdateOptions& value) noexcept {
1812
- return std::optional<AndroidUpdateOptions>(value);
2606
+ using std__optional_IOSOptions_ = std::optional<IOSOptions>;
2607
+ inline std::optional<IOSOptions> create_std__optional_IOSOptions_(const IOSOptions& value) noexcept {
2608
+ return std::optional<IOSOptions>(value);
1813
2609
  }
1814
- inline bool has_value_std__optional_AndroidUpdateOptions_(const std::optional<AndroidUpdateOptions>& optional) noexcept {
2610
+ inline bool has_value_std__optional_IOSOptions_(const std::optional<IOSOptions>& optional) noexcept {
1815
2611
  return optional.has_value();
1816
2612
  }
1817
- inline AndroidUpdateOptions get_std__optional_AndroidUpdateOptions_(const std::optional<AndroidUpdateOptions>& optional) noexcept {
2613
+ inline IOSOptions get_std__optional_IOSOptions_(const std::optional<IOSOptions>& optional) noexcept {
1818
2614
  return optional.value();
1819
2615
  }
1820
2616
 
@@ -1932,21 +2728,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
1932
2728
  return Func_void_PlaybackActiveTrackChangedEvent_Wrapper(std::move(value));
1933
2729
  }
1934
2730
 
1935
- // pragma MARK: std::optional<PlaybackError>
1936
- /**
1937
- * Specialized version of `std::optional<PlaybackError>`.
1938
- */
1939
- using std__optional_PlaybackError_ = std::optional<PlaybackError>;
1940
- inline std::optional<PlaybackError> create_std__optional_PlaybackError_(const PlaybackError& value) noexcept {
1941
- return std::optional<PlaybackError>(value);
1942
- }
1943
- inline bool has_value_std__optional_PlaybackError_(const std::optional<PlaybackError>& optional) noexcept {
1944
- return optional.has_value();
1945
- }
1946
- inline PlaybackError get_std__optional_PlaybackError_(const std::optional<PlaybackError>& optional) noexcept {
1947
- return optional.value();
1948
- }
1949
-
1950
2731
  // pragma MARK: std::function<void(const PlaybackErrorEvent& /* data */)>
1951
2732
  /**
1952
2733
  * Specialized version of `std::function<void(const PlaybackErrorEvent&)>`.
@@ -2079,28 +2860,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2079
2860
  return Func_void_RepeatModeChangedEvent_Wrapper(std::move(value));
2080
2861
  }
2081
2862
 
2082
- // pragma MARK: std::function<void(bool /* enabled */)>
2083
- /**
2084
- * Specialized version of `std::function<void(bool)>`.
2085
- */
2086
- using Func_void_bool = std::function<void(bool /* enabled */)>;
2087
- /**
2088
- * Wrapper class for a `std::function<void(bool / * enabled * /)>`, this can be used from Swift.
2089
- */
2090
- class Func_void_bool_Wrapper final {
2091
- public:
2092
- explicit Func_void_bool_Wrapper(std::function<void(bool /* enabled */)>&& func): _function(std::make_unique<std::function<void(bool /* enabled */)>>(std::move(func))) {}
2093
- inline void call(bool enabled) const noexcept {
2094
- _function->operator()(enabled);
2095
- }
2096
- private:
2097
- std::unique_ptr<std::function<void(bool /* enabled */)>> _function;
2098
- } SWIFT_NONCOPYABLE;
2099
- Func_void_bool create_Func_void_bool(void* NON_NULL swiftClosureWrapper) noexcept;
2100
- inline Func_void_bool_Wrapper wrap_Func_void_bool(Func_void_bool value) noexcept {
2101
- return Func_void_bool_Wrapper(std::move(value));
2102
- }
2103
-
2104
2863
  // pragma MARK: std::variant<nitro::NullType, SleepTimerTime, SleepTimerEndOfTrack>
2105
2864
  /**
2106
2865
  * Wrapper struct for `std::variant<nitro::NullType, SleepTimerTime, SleepTimerEndOfTrack>`.
@@ -2305,69 +3064,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2305
3064
  return Func_void_RemoteSeekEvent_Wrapper(std::move(value));
2306
3065
  }
2307
3066
 
2308
- // pragma MARK: std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating>
2309
- /**
2310
- * Wrapper struct for `std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating>`.
2311
- * std::variant cannot be used in Swift because of a Swift bug.
2312
- * Not even specializing it works. So we create a wrapper struct.
2313
- */
2314
- struct std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_ final {
2315
- std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating> variant;
2316
- std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_(std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating> variant): variant(variant) { }
2317
- operator std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating>() const noexcept {
2318
- return variant;
2319
- }
2320
- inline size_t index() const noexcept {
2321
- return variant.index();
2322
- }
2323
- inline HeartRating get_0() const noexcept {
2324
- return std::get<0>(variant);
2325
- }
2326
- inline ThumbsRating get_1() const noexcept {
2327
- return std::get<1>(variant);
2328
- }
2329
- inline StarRating get_2() const noexcept {
2330
- return std::get<2>(variant);
2331
- }
2332
- inline PercentageRating get_3() const noexcept {
2333
- return std::get<3>(variant);
2334
- }
2335
- };
2336
- inline std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_ create_std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_(const HeartRating& value) noexcept {
2337
- return std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_(value);
2338
- }
2339
- inline std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_ create_std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_(const ThumbsRating& value) noexcept {
2340
- return std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_(value);
2341
- }
2342
- inline std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_ create_std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_(const StarRating& value) noexcept {
2343
- return std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_(value);
2344
- }
2345
- inline std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_ create_std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_(const PercentageRating& value) noexcept {
2346
- return std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating_(value);
2347
- }
2348
-
2349
- // pragma MARK: std::function<void(const RemoteSetRatingEvent& /* event */)>
2350
- /**
2351
- * Specialized version of `std::function<void(const RemoteSetRatingEvent&)>`.
2352
- */
2353
- using Func_void_RemoteSetRatingEvent = std::function<void(const RemoteSetRatingEvent& /* event */)>;
2354
- /**
2355
- * Wrapper class for a `std::function<void(const RemoteSetRatingEvent& / * event * /)>`, this can be used from Swift.
2356
- */
2357
- class Func_void_RemoteSetRatingEvent_Wrapper final {
2358
- public:
2359
- explicit Func_void_RemoteSetRatingEvent_Wrapper(std::function<void(const RemoteSetRatingEvent& /* event */)>&& func): _function(std::make_unique<std::function<void(const RemoteSetRatingEvent& /* event */)>>(std::move(func))) {}
2360
- inline void call(RemoteSetRatingEvent event) const noexcept {
2361
- _function->operator()(event);
2362
- }
2363
- private:
2364
- std::unique_ptr<std::function<void(const RemoteSetRatingEvent& /* event */)>> _function;
2365
- } SWIFT_NONCOPYABLE;
2366
- Func_void_RemoteSetRatingEvent create_Func_void_RemoteSetRatingEvent(void* NON_NULL swiftClosureWrapper) noexcept;
2367
- inline Func_void_RemoteSetRatingEvent_Wrapper wrap_Func_void_RemoteSetRatingEvent(Func_void_RemoteSetRatingEvent value) noexcept {
2368
- return Func_void_RemoteSetRatingEvent_Wrapper(std::move(value));
2369
- }
2370
-
2371
3067
  // pragma MARK: std::function<void(const RemoteSkipEvent& /* event */)>
2372
3068
  /**
2373
3069
  * Specialized version of `std::function<void(const RemoteSkipEvent&)>`.
@@ -2390,21 +3086,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2390
3086
  return Func_void_RemoteSkipEvent_Wrapper(std::move(value));
2391
3087
  }
2392
3088
 
2393
- // pragma MARK: std::optional<AndroidOptions>
2394
- /**
2395
- * Specialized version of `std::optional<AndroidOptions>`.
2396
- */
2397
- using std__optional_AndroidOptions_ = std::optional<AndroidOptions>;
2398
- inline std::optional<AndroidOptions> create_std__optional_AndroidOptions_(const AndroidOptions& value) noexcept {
2399
- return std::optional<AndroidOptions>(value);
2400
- }
2401
- inline bool has_value_std__optional_AndroidOptions_(const std::optional<AndroidOptions>& optional) noexcept {
2402
- return optional.has_value();
2403
- }
2404
- inline AndroidOptions get_std__optional_AndroidOptions_(const std::optional<AndroidOptions>& optional) noexcept {
2405
- return optional.value();
2406
- }
2407
-
2408
3089
  // pragma MARK: std::function<void(const Options& /* event */)>
2409
3090
  /**
2410
3091
  * Specialized version of `std::function<void(const Options&)>`.
@@ -2449,21 +3130,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2449
3130
  return Func_void_FavoriteChangedEvent_Wrapper(std::move(value));
2450
3131
  }
2451
3132
 
2452
- // pragma MARK: std::optional<std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating>>
2453
- /**
2454
- * Specialized version of `std::optional<std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating>>`.
2455
- */
2456
- using std__optional_std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating__ = std::optional<std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating>>;
2457
- inline std::optional<std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating>> create_std__optional_std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating__(const std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating>& value) noexcept {
2458
- return std::optional<std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating>>(value);
2459
- }
2460
- inline bool has_value_std__optional_std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating__(const std::optional<std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating>>& optional) noexcept {
2461
- return optional.has_value();
2462
- }
2463
- inline std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating> get_std__optional_std__variant_HeartRating__ThumbsRating__StarRating__PercentageRating__(const std::optional<std::variant<HeartRating, ThumbsRating, StarRating, PercentageRating>>& optional) noexcept {
2464
- return optional.value();
2465
- }
2466
-
2467
3133
  // pragma MARK: std::function<void(const NowPlayingMetadata& /* metadata */)>
2468
3134
  /**
2469
3135
  * Specialized version of `std::function<void(const NowPlayingMetadata&)>`.
@@ -2486,21 +3152,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2486
3152
  return Func_void_NowPlayingMetadata_Wrapper(std::move(value));
2487
3153
  }
2488
3154
 
2489
- // pragma MARK: std::optional<std::function<void()>>
2490
- /**
2491
- * Specialized version of `std::optional<std::function<void()>>`.
2492
- */
2493
- using std__optional_std__function_void____ = std::optional<std::function<void()>>;
2494
- inline std::optional<std::function<void()>> create_std__optional_std__function_void____(const std::function<void()>& value) noexcept {
2495
- return std::optional<std::function<void()>>(value);
2496
- }
2497
- inline bool has_value_std__optional_std__function_void____(const std::optional<std::function<void()>>& optional) noexcept {
2498
- return optional.has_value();
2499
- }
2500
- inline std::function<void()> get_std__optional_std__function_void____(const std::optional<std::function<void()>>& optional) noexcept {
2501
- return optional.value();
2502
- }
2503
-
2504
3155
  // pragma MARK: std::optional<std::function<void(const RemoteJumpBackwardEvent& /* event */)>>
2505
3156
  /**
2506
3157
  * Specialized version of `std::optional<std::function<void(const RemoteJumpBackwardEvent& / * event * /)>>`.
@@ -2531,6 +3182,21 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2531
3182
  return optional.value();
2532
3183
  }
2533
3184
 
3185
+ // pragma MARK: std::optional<std::function<void()>>
3186
+ /**
3187
+ * Specialized version of `std::optional<std::function<void()>>`.
3188
+ */
3189
+ using std__optional_std__function_void____ = std::optional<std::function<void()>>;
3190
+ inline std::optional<std::function<void()>> create_std__optional_std__function_void____(const std::function<void()>& value) noexcept {
3191
+ return std::optional<std::function<void()>>(value);
3192
+ }
3193
+ inline bool has_value_std__optional_std__function_void____(const std::optional<std::function<void()>>& optional) noexcept {
3194
+ return optional.has_value();
3195
+ }
3196
+ inline std::function<void()> get_std__optional_std__function_void____(const std::optional<std::function<void()>>& optional) noexcept {
3197
+ return optional.value();
3198
+ }
3199
+
2534
3200
  // pragma MARK: std::optional<std::function<void(const RemotePlayIdEvent& /* event */)>>
2535
3201
  /**
2536
3202
  * Specialized version of `std::optional<std::function<void(const RemotePlayIdEvent& / * event * /)>>`.
@@ -2576,21 +3242,6 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2576
3242
  return optional.value();
2577
3243
  }
2578
3244
 
2579
- // pragma MARK: std::optional<NowPlayingUpdate>
2580
- /**
2581
- * Specialized version of `std::optional<NowPlayingUpdate>`.
2582
- */
2583
- using std__optional_NowPlayingUpdate_ = std::optional<NowPlayingUpdate>;
2584
- inline std::optional<NowPlayingUpdate> create_std__optional_NowPlayingUpdate_(const NowPlayingUpdate& value) noexcept {
2585
- return std::optional<NowPlayingUpdate>(value);
2586
- }
2587
- inline bool has_value_std__optional_NowPlayingUpdate_(const std::optional<NowPlayingUpdate>& optional) noexcept {
2588
- return optional.has_value();
2589
- }
2590
- inline NowPlayingUpdate get_std__optional_NowPlayingUpdate_(const std::optional<NowPlayingUpdate>& optional) noexcept {
2591
- return optional.value();
2592
- }
2593
-
2594
3245
  // pragma MARK: std::optional<NowPlayingMetadata>
2595
3246
  /**
2596
3247
  * Specialized version of `std::optional<NowPlayingMetadata>`.
@@ -2628,41 +3279,41 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2628
3279
  return Func_void_double_Wrapper(std::move(value));
2629
3280
  }
2630
3281
 
2631
- // pragma MARK: std::optional<IosOutput>
3282
+ // pragma MARK: std::optional<Output>
2632
3283
  /**
2633
- * Specialized version of `std::optional<IosOutput>`.
3284
+ * Specialized version of `std::optional<Output>`.
2634
3285
  */
2635
- using std__optional_IosOutput_ = std::optional<IosOutput>;
2636
- inline std::optional<IosOutput> create_std__optional_IosOutput_(const IosOutput& value) noexcept {
2637
- return std::optional<IosOutput>(value);
3286
+ using std__optional_Output_ = std::optional<Output>;
3287
+ inline std::optional<Output> create_std__optional_Output_(const Output& value) noexcept {
3288
+ return std::optional<Output>(value);
2638
3289
  }
2639
- inline bool has_value_std__optional_IosOutput_(const std::optional<IosOutput>& optional) noexcept {
3290
+ inline bool has_value_std__optional_Output_(const std::optional<Output>& optional) noexcept {
2640
3291
  return optional.has_value();
2641
3292
  }
2642
- inline IosOutput get_std__optional_IosOutput_(const std::optional<IosOutput>& optional) noexcept {
3293
+ inline Output get_std__optional_Output_(const std::optional<Output>& optional) noexcept {
2643
3294
  return optional.value();
2644
3295
  }
2645
3296
 
2646
- // pragma MARK: std::function<void(const IosOutput& /* output */)>
3297
+ // pragma MARK: std::function<void(const Output& /* output */)>
2647
3298
  /**
2648
- * Specialized version of `std::function<void(const IosOutput&)>`.
3299
+ * Specialized version of `std::function<void(const Output&)>`.
2649
3300
  */
2650
- using Func_void_IosOutput = std::function<void(const IosOutput& /* output */)>;
3301
+ using Func_void_Output = std::function<void(const Output& /* output */)>;
2651
3302
  /**
2652
- * Wrapper class for a `std::function<void(const IosOutput& / * output * /)>`, this can be used from Swift.
3303
+ * Wrapper class for a `std::function<void(const Output& / * output * /)>`, this can be used from Swift.
2653
3304
  */
2654
- class Func_void_IosOutput_Wrapper final {
3305
+ class Func_void_Output_Wrapper final {
2655
3306
  public:
2656
- explicit Func_void_IosOutput_Wrapper(std::function<void(const IosOutput& /* output */)>&& func): _function(std::make_unique<std::function<void(const IosOutput& /* output */)>>(std::move(func))) {}
2657
- inline void call(IosOutput output) const noexcept {
3307
+ explicit Func_void_Output_Wrapper(std::function<void(const Output& /* output */)>&& func): _function(std::make_unique<std::function<void(const Output& /* output */)>>(std::move(func))) {}
3308
+ inline void call(Output output) const noexcept {
2658
3309
  _function->operator()(output);
2659
3310
  }
2660
3311
  private:
2661
- std::unique_ptr<std::function<void(const IosOutput& /* output */)>> _function;
3312
+ std::unique_ptr<std::function<void(const Output& /* output */)>> _function;
2662
3313
  } SWIFT_NONCOPYABLE;
2663
- Func_void_IosOutput create_Func_void_IosOutput(void* NON_NULL swiftClosureWrapper) noexcept;
2664
- inline Func_void_IosOutput_Wrapper wrap_Func_void_IosOutput(Func_void_IosOutput value) noexcept {
2665
- return Func_void_IosOutput_Wrapper(std::move(value));
3314
+ Func_void_Output create_Func_void_Output(void* NON_NULL swiftClosureWrapper) noexcept;
3315
+ inline Func_void_Output_Wrapper wrap_Func_void_Output(Func_void_Output value) noexcept {
3316
+ return Func_void_Output_Wrapper(std::move(value));
2666
3317
  }
2667
3318
 
2668
3319
  // pragma MARK: std::optional<EqualizerSettings>
@@ -2803,6 +3454,15 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2803
3454
  return Result<std::optional<FormattedNavigationError>>::withError(error);
2804
3455
  }
2805
3456
 
3457
+ // pragma MARK: Result<bool>
3458
+ using Result_bool_ = Result<bool>;
3459
+ inline Result_bool_ create_Result_bool_(bool value) noexcept {
3460
+ return Result<bool>::withValue(std::move(value));
3461
+ }
3462
+ inline Result_bool_ create_Result_bool_(const std::exception_ptr& error) noexcept {
3463
+ return Result<bool>::withError(error);
3464
+ }
3465
+
2806
3466
  // pragma MARK: Result<std::shared_ptr<Promise<void>>>
2807
3467
  using Result_std__shared_ptr_Promise_void___ = Result<std::shared_ptr<Promise<void>>>;
2808
3468
  inline Result_std__shared_ptr_Promise_void___ create_Result_std__shared_ptr_Promise_void___(const std::shared_ptr<Promise<void>>& value) noexcept {
@@ -2812,22 +3472,13 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2812
3472
  return Result<std::shared_ptr<Promise<void>>>::withError(error);
2813
3473
  }
2814
3474
 
2815
- // pragma MARK: Result<UpdateOptions>
2816
- using Result_UpdateOptions_ = Result<UpdateOptions>;
2817
- inline Result_UpdateOptions_ create_Result_UpdateOptions_(const UpdateOptions& value) noexcept {
2818
- return Result<UpdateOptions>::withValue(value);
2819
- }
2820
- inline Result_UpdateOptions_ create_Result_UpdateOptions_(const std::exception_ptr& error) noexcept {
2821
- return Result<UpdateOptions>::withError(error);
2822
- }
2823
-
2824
- // pragma MARK: Result<bool>
2825
- using Result_bool_ = Result<bool>;
2826
- inline Result_bool_ create_Result_bool_(bool value) noexcept {
2827
- return Result<bool>::withValue(std::move(value));
3475
+ // pragma MARK: Result<Options>
3476
+ using Result_Options_ = Result<Options>;
3477
+ inline Result_Options_ create_Result_Options_(const Options& value) noexcept {
3478
+ return Result<Options>::withValue(value);
2828
3479
  }
2829
- inline Result_bool_ create_Result_bool_(const std::exception_ptr& error) noexcept {
2830
- return Result<bool>::withError(error);
3480
+ inline Result_Options_ create_Result_Options_(const std::exception_ptr& error) noexcept {
3481
+ return Result<Options>::withError(error);
2831
3482
  }
2832
3483
 
2833
3484
  // pragma MARK: Result<double>
@@ -2929,13 +3580,13 @@ namespace margelo::nitro::audiobrowser::bridge::swift {
2929
3580
  return Result<std::optional<NowPlayingMetadata>>::withError(error);
2930
3581
  }
2931
3582
 
2932
- // pragma MARK: Result<std::optional<IosOutput>>
2933
- using Result_std__optional_IosOutput__ = Result<std::optional<IosOutput>>;
2934
- inline Result_std__optional_IosOutput__ create_Result_std__optional_IosOutput__(const std::optional<IosOutput>& value) noexcept {
2935
- return Result<std::optional<IosOutput>>::withValue(value);
3583
+ // pragma MARK: Result<std::optional<Output>>
3584
+ using Result_std__optional_Output__ = Result<std::optional<Output>>;
3585
+ inline Result_std__optional_Output__ create_Result_std__optional_Output__(const std::optional<Output>& value) noexcept {
3586
+ return Result<std::optional<Output>>::withValue(value);
2936
3587
  }
2937
- inline Result_std__optional_IosOutput__ create_Result_std__optional_IosOutput__(const std::exception_ptr& error) noexcept {
2938
- return Result<std::optional<IosOutput>>::withError(error);
3588
+ inline Result_std__optional_Output__ create_Result_std__optional_Output__(const std::exception_ptr& error) noexcept {
3589
+ return Result<std::optional<Output>>::withError(error);
2939
3590
  }
2940
3591
 
2941
3592
  // pragma MARK: Result<std::optional<EqualizerSettings>>