react-native-nitro-player 0.5.8 → 0.5.9-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/android/src/main/cpp/cpp-adapter.cpp +5 -1
  2. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridPlayerQueue.kt +2 -2
  3. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerCore.kt +112 -55
  4. package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadDatabase.kt +3 -1
  5. package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadManagerCore.kt +19 -8
  6. package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadWorker.kt +2 -1
  7. package/android/src/main/java/com/margelo/nitro/nitroplayer/equalizer/EqualizerCore.kt +14 -2
  8. package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaSessionManager.kt +29 -30
  9. package/android/src/main/java/com/margelo/nitro/nitroplayer/playlist/PlaylistManager.kt +10 -31
  10. package/android/src/main/java/com/margelo/nitro/nitroplayer/queue/Queue.kt +1 -1
  11. package/ios/core/TrackPlayerCore.swift +142 -41
  12. package/ios/download/DownloadDatabase.swift +8 -2
  13. package/ios/download/DownloadFileManager.swift +11 -2
  14. package/ios/download/DownloadManagerCore.swift +84 -25
  15. package/ios/equalizer/EqualizerCore.swift +14 -2
  16. package/ios/media/MediaSessionManager.swift +5 -5
  17. package/ios/playlist/PlaylistModel.swift +1 -1
  18. package/ios/queue/HybridPlayerQueue.swift +2 -0
  19. package/ios/storage/NitroPlayerStorage.swift +4 -2
  20. package/nitrogen/generated/android/NitroPlayer+autolinking.cmake +1 -1
  21. package/nitrogen/generated/android/NitroPlayer+autolinking.gradle +1 -1
  22. package/nitrogen/generated/android/NitroPlayerOnLoad.cpp +76 -73
  23. package/nitrogen/generated/android/NitroPlayerOnLoad.hpp +14 -5
  24. package/nitrogen/generated/android/c++/JCurrentPlayingType.hpp +5 -6
  25. package/nitrogen/generated/android/c++/JDownloadConfig.hpp +1 -1
  26. package/nitrogen/generated/android/c++/JDownloadError.hpp +1 -1
  27. package/nitrogen/generated/android/c++/JDownloadErrorReason.hpp +8 -9
  28. package/nitrogen/generated/android/c++/JDownloadProgress.hpp +1 -1
  29. package/nitrogen/generated/android/c++/JDownloadQueueStatus.hpp +1 -1
  30. package/nitrogen/generated/android/c++/JDownloadState.hpp +7 -8
  31. package/nitrogen/generated/android/c++/JDownloadStorageInfo.hpp +1 -1
  32. package/nitrogen/generated/android/c++/JDownloadTask.hpp +1 -1
  33. package/nitrogen/generated/android/c++/JDownloadedPlaylist.hpp +1 -1
  34. package/nitrogen/generated/android/c++/JDownloadedTrack.hpp +1 -1
  35. package/nitrogen/generated/android/c++/JEqualizerBand.hpp +1 -1
  36. package/nitrogen/generated/android/c++/JEqualizerPreset.hpp +1 -1
  37. package/nitrogen/generated/android/c++/JEqualizerState.hpp +1 -1
  38. package/nitrogen/generated/android/c++/JFunc_void_DownloadProgress.hpp +1 -1
  39. package/nitrogen/generated/android/c++/JFunc_void_DownloadedTrack.hpp +1 -1
  40. package/nitrogen/generated/android/c++/JFunc_void_TrackItem_std__optional_Reason_.hpp +1 -1
  41. package/nitrogen/generated/android/c++/JFunc_void_TrackPlayerState_std__optional_Reason_.hpp +1 -1
  42. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +1 -1
  43. package/nitrogen/generated/android/c++/JFunc_void_double_double.hpp +1 -1
  44. package/nitrogen/generated/android/c++/JFunc_void_double_double_std__optional_bool_.hpp +1 -1
  45. package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__std__string__.hpp +1 -1
  46. package/nitrogen/generated/android/c++/JFunc_void_std__string_Playlist_std__optional_QueueOperation_.hpp +1 -1
  47. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string_DownloadState_std__optional_DownloadError_.hpp +1 -1
  48. package/nitrogen/generated/android/c++/JFunc_void_std__vector_EqualizerBand_.hpp +1 -1
  49. package/nitrogen/generated/android/c++/JFunc_void_std__vector_Playlist__std__optional_QueueOperation_.hpp +1 -1
  50. package/nitrogen/generated/android/c++/JFunc_void_std__vector_TrackItem__double.hpp +1 -1
  51. package/nitrogen/generated/android/c++/JGainRange.hpp +1 -1
  52. package/nitrogen/generated/android/c++/JHybridAndroidAutoMediaLibrarySpec.cpp +8 -1
  53. package/nitrogen/generated/android/c++/JHybridAndroidAutoMediaLibrarySpec.hpp +2 -1
  54. package/nitrogen/generated/android/c++/JHybridAudioDevicesSpec.cpp +8 -1
  55. package/nitrogen/generated/android/c++/JHybridAudioDevicesSpec.hpp +2 -1
  56. package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.cpp +9 -1
  57. package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.hpp +2 -1
  58. package/nitrogen/generated/android/c++/JHybridEqualizerSpec.cpp +8 -1
  59. package/nitrogen/generated/android/c++/JHybridEqualizerSpec.hpp +2 -1
  60. package/nitrogen/generated/android/c++/JHybridPlayerQueueSpec.cpp +8 -1
  61. package/nitrogen/generated/android/c++/JHybridPlayerQueueSpec.hpp +2 -1
  62. package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.cpp +9 -1
  63. package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.hpp +2 -1
  64. package/nitrogen/generated/android/c++/JPlaybackSource.hpp +4 -5
  65. package/nitrogen/generated/android/c++/JPlayerConfig.hpp +1 -1
  66. package/nitrogen/generated/android/c++/JPlayerState.hpp +1 -1
  67. package/nitrogen/generated/android/c++/JPlaylist.hpp +1 -1
  68. package/nitrogen/generated/android/c++/JPresetType.hpp +3 -4
  69. package/nitrogen/generated/android/c++/JQueueOperation.hpp +5 -6
  70. package/nitrogen/generated/android/c++/JReason.hpp +6 -7
  71. package/nitrogen/generated/android/c++/JRepeatMode.hpp +4 -5
  72. package/nitrogen/generated/android/c++/JStorageLocation.hpp +3 -4
  73. package/nitrogen/generated/android/c++/JTAudioDevice.hpp +1 -1
  74. package/nitrogen/generated/android/c++/JTrackItem.hpp +1 -1
  75. package/nitrogen/generated/android/c++/JTrackPlayerState.hpp +4 -5
  76. package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +1 -1
  77. package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +3 -3
  78. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadError.cpp +1 -1
  79. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadError.hpp +3 -3
  80. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadTask.cpp +1 -1
  81. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadTask.hpp +3 -3
  82. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedPlaylist.cpp +1 -1
  83. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedPlaylist.hpp +3 -3
  84. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedTrack.cpp +1 -1
  85. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedTrack.hpp +3 -3
  86. package/nitrogen/generated/android/c++/JVariant_NullType_Playlist.cpp +1 -1
  87. package/nitrogen/generated/android/c++/JVariant_NullType_Playlist.hpp +3 -3
  88. package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +1 -1
  89. package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +3 -3
  90. package/nitrogen/generated/android/c++/JVariant_NullType_TrackItem.cpp +1 -1
  91. package/nitrogen/generated/android/c++/JVariant_NullType_TrackItem.hpp +3 -3
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/CurrentPlayingType.kt +3 -1
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadConfig.kt +2 -2
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadError.kt +2 -2
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadErrorReason.kt +3 -1
  96. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadProgress.kt +2 -2
  97. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadQueueStatus.kt +2 -2
  98. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadState.kt +3 -1
  99. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadStorageInfo.kt +2 -2
  100. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadTask.kt +2 -2
  101. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadedPlaylist.kt +2 -2
  102. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadedTrack.kt +2 -2
  103. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerBand.kt +2 -2
  104. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerPreset.kt +2 -2
  105. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerState.kt +2 -2
  106. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_DownloadProgress.kt +1 -1
  107. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_DownloadedTrack.kt +1 -1
  108. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_TrackItem_std__optional_Reason_.kt +1 -1
  109. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_TrackPlayerState_std__optional_Reason_.kt +1 -1
  110. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_bool.kt +1 -1
  111. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_double_double.kt +1 -1
  112. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_double_double_std__optional_bool_.kt +1 -1
  113. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__optional_std__variant_nitro__NullType__std__string__.kt +1 -1
  114. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__string_Playlist_std__optional_QueueOperation_.kt +1 -1
  115. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__string_std__string_DownloadState_std__optional_DownloadError_.kt +1 -1
  116. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__vector_EqualizerBand_.kt +1 -1
  117. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__vector_Playlist__std__optional_QueueOperation_.kt +1 -1
  118. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__vector_TrackItem__double.kt +1 -1
  119. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/GainRange.kt +2 -2
  120. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridAndroidAutoMediaLibrarySpec.kt +1 -1
  121. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridAudioDevicesSpec.kt +1 -1
  122. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridDownloadManagerSpec.kt +1 -1
  123. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridEqualizerSpec.kt +1 -1
  124. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridPlayerQueueSpec.kt +1 -1
  125. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridTrackPlayerSpec.kt +1 -1
  126. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/NitroPlayerOnLoad.kt +1 -1
  127. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlaybackSource.kt +3 -1
  128. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlayerConfig.kt +2 -2
  129. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlayerState.kt +2 -2
  130. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Playlist.kt +2 -2
  131. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PresetType.kt +3 -1
  132. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/QueueOperation.kt +3 -1
  133. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Reason.kt +3 -1
  134. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/RepeatMode.kt +3 -1
  135. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/StorageLocation.kt +3 -1
  136. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TAudioDevice.kt +2 -2
  137. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TrackItem.kt +2 -2
  138. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TrackPlayerState.kt +3 -1
  139. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_Double.kt +1 -1
  140. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadError.kt +1 -1
  141. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadTask.kt +1 -1
  142. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadedPlaylist.kt +1 -1
  143. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadedTrack.kt +1 -1
  144. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_Playlist.kt +1 -1
  145. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_String.kt +1 -1
  146. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_TrackItem.kt +1 -1
  147. package/nitrogen/generated/ios/NitroPlayer+autolinking.rb +2 -2
  148. package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.cpp +1 -1
  149. package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.hpp +21 -21
  150. package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Umbrella.hpp +1 -1
  151. package/nitrogen/generated/ios/NitroPlayerAutolinking.mm +1 -1
  152. package/nitrogen/generated/ios/NitroPlayerAutolinking.swift +25 -36
  153. package/nitrogen/generated/ios/c++/HybridAudioRoutePickerSpecSwift.cpp +1 -1
  154. package/nitrogen/generated/ios/c++/HybridAudioRoutePickerSpecSwift.hpp +7 -1
  155. package/nitrogen/generated/ios/c++/HybridDownloadManagerSpecSwift.cpp +1 -1
  156. package/nitrogen/generated/ios/c++/HybridDownloadManagerSpecSwift.hpp +7 -1
  157. package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.cpp +1 -1
  158. package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.hpp +7 -1
  159. package/nitrogen/generated/ios/c++/HybridPlayerQueueSpecSwift.cpp +1 -1
  160. package/nitrogen/generated/ios/c++/HybridPlayerQueueSpecSwift.hpp +7 -1
  161. package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.cpp +1 -1
  162. package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.hpp +7 -1
  163. package/nitrogen/generated/ios/swift/CurrentPlayingType.swift +1 -1
  164. package/nitrogen/generated/ios/swift/DownloadConfig.swift +78 -168
  165. package/nitrogen/generated/ios/swift/DownloadError.swift +9 -34
  166. package/nitrogen/generated/ios/swift/DownloadErrorReason.swift +1 -1
  167. package/nitrogen/generated/ios/swift/DownloadProgress.swift +13 -50
  168. package/nitrogen/generated/ios/swift/DownloadQueueStatus.swift +15 -58
  169. package/nitrogen/generated/ios/swift/DownloadState.swift +1 -1
  170. package/nitrogen/generated/ios/swift/DownloadStorageInfo.swift +11 -42
  171. package/nitrogen/generated/ios/swift/DownloadTask.swift +97 -210
  172. package/nitrogen/generated/ios/swift/DownloadedPlaylist.swift +13 -56
  173. package/nitrogen/generated/ios/swift/DownloadedTrack.swift +34 -90
  174. package/nitrogen/generated/ios/swift/EqualizerBand.swift +9 -34
  175. package/nitrogen/generated/ios/swift/EqualizerPreset.swift +7 -32
  176. package/nitrogen/generated/ios/swift/EqualizerState.swift +26 -64
  177. package/nitrogen/generated/ios/swift/Func_void.swift +1 -2
  178. package/nitrogen/generated/ios/swift/Func_void_DownloadProgress.swift +1 -2
  179. package/nitrogen/generated/ios/swift/Func_void_DownloadStorageInfo.swift +1 -2
  180. package/nitrogen/generated/ios/swift/Func_void_DownloadedTrack.swift +1 -2
  181. package/nitrogen/generated/ios/swift/Func_void_PlayerState.swift +1 -2
  182. package/nitrogen/generated/ios/swift/Func_void_TrackItem_std__optional_Reason_.swift +1 -2
  183. package/nitrogen/generated/ios/swift/Func_void_TrackPlayerState_std__optional_Reason_.swift +1 -2
  184. package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -2
  185. package/nitrogen/generated/ios/swift/Func_void_double.swift +1 -2
  186. package/nitrogen/generated/ios/swift/Func_void_double_double.swift +1 -2
  187. package/nitrogen/generated/ios/swift/Func_void_double_double_std__optional_bool_.swift +1 -2
  188. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -2
  189. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__std__string__.swift +1 -2
  190. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -2
  191. package/nitrogen/generated/ios/swift/Func_void_std__string_Playlist_std__optional_QueueOperation_.swift +1 -2
  192. package/nitrogen/generated/ios/swift/Func_void_std__string_std__string_DownloadState_std__optional_DownloadError_.swift +1 -2
  193. package/nitrogen/generated/ios/swift/Func_void_std__vector_EqualizerBand_.swift +1 -2
  194. package/nitrogen/generated/ios/swift/Func_void_std__vector_Playlist__std__optional_QueueOperation_.swift +1 -2
  195. package/nitrogen/generated/ios/swift/Func_void_std__vector_TrackItem_.swift +1 -2
  196. package/nitrogen/generated/ios/swift/Func_void_std__vector_TrackItem__double.swift +1 -2
  197. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +1 -2
  198. package/nitrogen/generated/ios/swift/GainRange.swift +5 -18
  199. package/nitrogen/generated/ios/swift/HybridAudioRoutePickerSpec.swift +3 -4
  200. package/nitrogen/generated/ios/swift/HybridAudioRoutePickerSpec_cxx.swift +9 -2
  201. package/nitrogen/generated/ios/swift/HybridDownloadManagerSpec.swift +3 -4
  202. package/nitrogen/generated/ios/swift/HybridDownloadManagerSpec_cxx.swift +9 -2
  203. package/nitrogen/generated/ios/swift/HybridEqualizerSpec.swift +3 -4
  204. package/nitrogen/generated/ios/swift/HybridEqualizerSpec_cxx.swift +9 -2
  205. package/nitrogen/generated/ios/swift/HybridPlayerQueueSpec.swift +3 -4
  206. package/nitrogen/generated/ios/swift/HybridPlayerQueueSpec_cxx.swift +25 -4
  207. package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec.swift +3 -4
  208. package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec_cxx.swift +9 -2
  209. package/nitrogen/generated/ios/swift/PlaybackSource.swift +1 -1
  210. package/nitrogen/generated/ios/swift/PlayerConfig.swift +37 -79
  211. package/nitrogen/generated/ios/swift/PlayerState.swift +53 -122
  212. package/nitrogen/generated/ios/swift/Playlist.swift +49 -112
  213. package/nitrogen/generated/ios/swift/PresetType.swift +1 -1
  214. package/nitrogen/generated/ios/swift/QueueOperation.swift +1 -1
  215. package/nitrogen/generated/ios/swift/Reason.swift +1 -1
  216. package/nitrogen/generated/ios/swift/RepeatMode.swift +1 -1
  217. package/nitrogen/generated/ios/swift/StorageLocation.swift +1 -1
  218. package/nitrogen/generated/ios/swift/TrackItem.swift +43 -111
  219. package/nitrogen/generated/ios/swift/TrackPlayerState.swift +1 -1
  220. package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +1 -1
  221. package/nitrogen/generated/ios/swift/Variant_NullType_DownloadError.swift +1 -1
  222. package/nitrogen/generated/ios/swift/Variant_NullType_DownloadTask.swift +1 -1
  223. package/nitrogen/generated/ios/swift/Variant_NullType_DownloadedPlaylist.swift +1 -1
  224. package/nitrogen/generated/ios/swift/Variant_NullType_DownloadedTrack.swift +1 -1
  225. package/nitrogen/generated/ios/swift/Variant_NullType_Playlist.swift +1 -1
  226. package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +1 -1
  227. package/nitrogen/generated/ios/swift/Variant_NullType_TrackItem.swift +1 -1
  228. package/nitrogen/generated/shared/c++/CurrentPlayingType.hpp +1 -1
  229. package/nitrogen/generated/shared/c++/DownloadConfig.hpp +34 -26
  230. package/nitrogen/generated/shared/c++/DownloadError.hpp +22 -14
  231. package/nitrogen/generated/shared/c++/DownloadErrorReason.hpp +1 -1
  232. package/nitrogen/generated/shared/c++/DownloadProgress.hpp +28 -20
  233. package/nitrogen/generated/shared/c++/DownloadQueueStatus.hpp +31 -23
  234. package/nitrogen/generated/shared/c++/DownloadState.hpp +1 -1
  235. package/nitrogen/generated/shared/c++/DownloadStorageInfo.hpp +25 -17
  236. package/nitrogen/generated/shared/c++/DownloadTask.hpp +40 -32
  237. package/nitrogen/generated/shared/c++/DownloadedPlaylist.hpp +28 -20
  238. package/nitrogen/generated/shared/c++/DownloadedTrack.hpp +31 -23
  239. package/nitrogen/generated/shared/c++/EqualizerBand.hpp +22 -14
  240. package/nitrogen/generated/shared/c++/EqualizerPreset.hpp +19 -11
  241. package/nitrogen/generated/shared/c++/EqualizerState.hpp +19 -11
  242. package/nitrogen/generated/shared/c++/GainRange.hpp +16 -8
  243. package/nitrogen/generated/shared/c++/HybridAndroidAutoMediaLibrarySpec.cpp +1 -1
  244. package/nitrogen/generated/shared/c++/HybridAndroidAutoMediaLibrarySpec.hpp +1 -1
  245. package/nitrogen/generated/shared/c++/HybridAudioDevicesSpec.cpp +1 -1
  246. package/nitrogen/generated/shared/c++/HybridAudioDevicesSpec.hpp +1 -1
  247. package/nitrogen/generated/shared/c++/HybridAudioRoutePickerSpec.cpp +1 -1
  248. package/nitrogen/generated/shared/c++/HybridAudioRoutePickerSpec.hpp +1 -1
  249. package/nitrogen/generated/shared/c++/HybridDownloadManagerSpec.cpp +1 -1
  250. package/nitrogen/generated/shared/c++/HybridDownloadManagerSpec.hpp +1 -1
  251. package/nitrogen/generated/shared/c++/HybridEqualizerSpec.cpp +1 -1
  252. package/nitrogen/generated/shared/c++/HybridEqualizerSpec.hpp +1 -1
  253. package/nitrogen/generated/shared/c++/HybridPlayerQueueSpec.cpp +1 -1
  254. package/nitrogen/generated/shared/c++/HybridPlayerQueueSpec.hpp +1 -1
  255. package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.cpp +1 -1
  256. package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.hpp +1 -1
  257. package/nitrogen/generated/shared/c++/PlaybackSource.hpp +1 -1
  258. package/nitrogen/generated/shared/c++/PlayerConfig.hpp +22 -14
  259. package/nitrogen/generated/shared/c++/PlayerState.hpp +31 -23
  260. package/nitrogen/generated/shared/c++/Playlist.hpp +25 -17
  261. package/nitrogen/generated/shared/c++/PresetType.hpp +1 -1
  262. package/nitrogen/generated/shared/c++/QueueOperation.hpp +1 -1
  263. package/nitrogen/generated/shared/c++/Reason.hpp +1 -1
  264. package/nitrogen/generated/shared/c++/RepeatMode.hpp +1 -1
  265. package/nitrogen/generated/shared/c++/StorageLocation.hpp +1 -1
  266. package/nitrogen/generated/shared/c++/TAudioDevice.hpp +22 -14
  267. package/nitrogen/generated/shared/c++/TrackItem.hpp +34 -26
  268. package/nitrogen/generated/shared/c++/TrackPlayerState.hpp +1 -1
  269. package/package.json +3 -3
@@ -2,7 +2,7 @@
2
2
  /// DownloadError.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,11 @@
22
22
  #else
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
25
30
 
26
31
  // Forward declaration of `DownloadErrorReason` to properly resolve imports.
27
32
  namespace margelo::nitro::nitroplayer { enum class DownloadErrorReason; }
@@ -34,7 +39,7 @@ namespace margelo::nitro::nitroplayer {
34
39
  /**
35
40
  * A struct which can be represented as a JavaScript object (DownloadError).
36
41
  */
37
- struct DownloadError {
42
+ struct DownloadError final {
38
43
  public:
39
44
  std::string code SWIFT_PRIVATE;
40
45
  std::string message SWIFT_PRIVATE;
@@ -44,6 +49,9 @@ namespace margelo::nitro::nitroplayer {
44
49
  public:
45
50
  DownloadError() = default;
46
51
  explicit DownloadError(std::string code, std::string message, DownloadErrorReason reason, bool isRetryable): code(code), message(message), reason(reason), isRetryable(isRetryable) {}
52
+
53
+ public:
54
+ friend bool operator==(const DownloadError& lhs, const DownloadError& rhs) = default;
47
55
  };
48
56
 
49
57
  } // namespace margelo::nitro::nitroplayer
@@ -56,18 +64,18 @@ namespace margelo::nitro {
56
64
  static inline margelo::nitro::nitroplayer::DownloadError fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
57
65
  jsi::Object obj = arg.asObject(runtime);
58
66
  return margelo::nitro::nitroplayer::DownloadError(
59
- JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "code")),
60
- JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "message")),
61
- JSIConverter<margelo::nitro::nitroplayer::DownloadErrorReason>::fromJSI(runtime, obj.getProperty(runtime, "reason")),
62
- JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "isRetryable"))
67
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "code"))),
68
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "message"))),
69
+ JSIConverter<margelo::nitro::nitroplayer::DownloadErrorReason>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "reason"))),
70
+ JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isRetryable")))
63
71
  );
64
72
  }
65
73
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::nitroplayer::DownloadError& arg) {
66
74
  jsi::Object obj(runtime);
67
- obj.setProperty(runtime, "code", JSIConverter<std::string>::toJSI(runtime, arg.code));
68
- obj.setProperty(runtime, "message", JSIConverter<std::string>::toJSI(runtime, arg.message));
69
- obj.setProperty(runtime, "reason", JSIConverter<margelo::nitro::nitroplayer::DownloadErrorReason>::toJSI(runtime, arg.reason));
70
- obj.setProperty(runtime, "isRetryable", JSIConverter<bool>::toJSI(runtime, arg.isRetryable));
75
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "code"), JSIConverter<std::string>::toJSI(runtime, arg.code));
76
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "message"), JSIConverter<std::string>::toJSI(runtime, arg.message));
77
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "reason"), JSIConverter<margelo::nitro::nitroplayer::DownloadErrorReason>::toJSI(runtime, arg.reason));
78
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "isRetryable"), JSIConverter<bool>::toJSI(runtime, arg.isRetryable));
71
79
  return obj;
72
80
  }
73
81
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -78,10 +86,10 @@ namespace margelo::nitro {
78
86
  if (!nitro::isPlainObject(runtime, obj)) {
79
87
  return false;
80
88
  }
81
- if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "code"))) return false;
82
- if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "message"))) return false;
83
- if (!JSIConverter<margelo::nitro::nitroplayer::DownloadErrorReason>::canConvert(runtime, obj.getProperty(runtime, "reason"))) return false;
84
- if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "isRetryable"))) return false;
89
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "code")))) return false;
90
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "message")))) return false;
91
+ if (!JSIConverter<margelo::nitro::nitroplayer::DownloadErrorReason>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "reason")))) return false;
92
+ if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isRetryable")))) return false;
85
93
  return true;
86
94
  }
87
95
  };
@@ -2,7 +2,7 @@
2
2
  /// DownloadErrorReason.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// DownloadProgress.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,11 @@
22
22
  #else
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
25
30
 
26
31
  // Forward declaration of `DownloadState` to properly resolve imports.
27
32
  namespace margelo::nitro::nitroplayer { enum class DownloadState; }
@@ -34,7 +39,7 @@ namespace margelo::nitro::nitroplayer {
34
39
  /**
35
40
  * A struct which can be represented as a JavaScript object (DownloadProgress).
36
41
  */
37
- struct DownloadProgress {
42
+ struct DownloadProgress final {
38
43
  public:
39
44
  std::string trackId SWIFT_PRIVATE;
40
45
  std::string downloadId SWIFT_PRIVATE;
@@ -46,6 +51,9 @@ namespace margelo::nitro::nitroplayer {
46
51
  public:
47
52
  DownloadProgress() = default;
48
53
  explicit DownloadProgress(std::string trackId, std::string downloadId, double bytesDownloaded, double totalBytes, double progress, DownloadState state): trackId(trackId), downloadId(downloadId), bytesDownloaded(bytesDownloaded), totalBytes(totalBytes), progress(progress), state(state) {}
54
+
55
+ public:
56
+ friend bool operator==(const DownloadProgress& lhs, const DownloadProgress& rhs) = default;
49
57
  };
50
58
 
51
59
  } // namespace margelo::nitro::nitroplayer
@@ -58,22 +66,22 @@ namespace margelo::nitro {
58
66
  static inline margelo::nitro::nitroplayer::DownloadProgress fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
59
67
  jsi::Object obj = arg.asObject(runtime);
60
68
  return margelo::nitro::nitroplayer::DownloadProgress(
61
- JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "trackId")),
62
- JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "downloadId")),
63
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "bytesDownloaded")),
64
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "totalBytes")),
65
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "progress")),
66
- JSIConverter<margelo::nitro::nitroplayer::DownloadState>::fromJSI(runtime, obj.getProperty(runtime, "state"))
69
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "trackId"))),
70
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "downloadId"))),
71
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bytesDownloaded"))),
72
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "totalBytes"))),
73
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "progress"))),
74
+ JSIConverter<margelo::nitro::nitroplayer::DownloadState>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "state")))
67
75
  );
68
76
  }
69
77
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::nitroplayer::DownloadProgress& arg) {
70
78
  jsi::Object obj(runtime);
71
- obj.setProperty(runtime, "trackId", JSIConverter<std::string>::toJSI(runtime, arg.trackId));
72
- obj.setProperty(runtime, "downloadId", JSIConverter<std::string>::toJSI(runtime, arg.downloadId));
73
- obj.setProperty(runtime, "bytesDownloaded", JSIConverter<double>::toJSI(runtime, arg.bytesDownloaded));
74
- obj.setProperty(runtime, "totalBytes", JSIConverter<double>::toJSI(runtime, arg.totalBytes));
75
- obj.setProperty(runtime, "progress", JSIConverter<double>::toJSI(runtime, arg.progress));
76
- obj.setProperty(runtime, "state", JSIConverter<margelo::nitro::nitroplayer::DownloadState>::toJSI(runtime, arg.state));
79
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "trackId"), JSIConverter<std::string>::toJSI(runtime, arg.trackId));
80
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "downloadId"), JSIConverter<std::string>::toJSI(runtime, arg.downloadId));
81
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "bytesDownloaded"), JSIConverter<double>::toJSI(runtime, arg.bytesDownloaded));
82
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "totalBytes"), JSIConverter<double>::toJSI(runtime, arg.totalBytes));
83
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "progress"), JSIConverter<double>::toJSI(runtime, arg.progress));
84
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "state"), JSIConverter<margelo::nitro::nitroplayer::DownloadState>::toJSI(runtime, arg.state));
77
85
  return obj;
78
86
  }
79
87
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -84,12 +92,12 @@ namespace margelo::nitro {
84
92
  if (!nitro::isPlainObject(runtime, obj)) {
85
93
  return false;
86
94
  }
87
- if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "trackId"))) return false;
88
- if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "downloadId"))) return false;
89
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "bytesDownloaded"))) return false;
90
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "totalBytes"))) return false;
91
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "progress"))) return false;
92
- if (!JSIConverter<margelo::nitro::nitroplayer::DownloadState>::canConvert(runtime, obj.getProperty(runtime, "state"))) return false;
95
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "trackId")))) return false;
96
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "downloadId")))) return false;
97
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bytesDownloaded")))) return false;
98
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "totalBytes")))) return false;
99
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "progress")))) return false;
100
+ if (!JSIConverter<margelo::nitro::nitroplayer::DownloadState>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "state")))) return false;
93
101
  return true;
94
102
  }
95
103
  };
@@ -2,7 +2,7 @@
2
2
  /// DownloadQueueStatus.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,11 @@
22
22
  #else
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
25
30
 
26
31
 
27
32
 
@@ -32,7 +37,7 @@ namespace margelo::nitro::nitroplayer {
32
37
  /**
33
38
  * A struct which can be represented as a JavaScript object (DownloadQueueStatus).
34
39
  */
35
- struct DownloadQueueStatus {
40
+ struct DownloadQueueStatus final {
36
41
  public:
37
42
  double pendingCount SWIFT_PRIVATE;
38
43
  double activeCount SWIFT_PRIVATE;
@@ -45,6 +50,9 @@ namespace margelo::nitro::nitroplayer {
45
50
  public:
46
51
  DownloadQueueStatus() = default;
47
52
  explicit DownloadQueueStatus(double pendingCount, double activeCount, double completedCount, double failedCount, double totalBytesToDownload, double totalBytesDownloaded, double overallProgress): pendingCount(pendingCount), activeCount(activeCount), completedCount(completedCount), failedCount(failedCount), totalBytesToDownload(totalBytesToDownload), totalBytesDownloaded(totalBytesDownloaded), overallProgress(overallProgress) {}
53
+
54
+ public:
55
+ friend bool operator==(const DownloadQueueStatus& lhs, const DownloadQueueStatus& rhs) = default;
48
56
  };
49
57
 
50
58
  } // namespace margelo::nitro::nitroplayer
@@ -57,24 +65,24 @@ namespace margelo::nitro {
57
65
  static inline margelo::nitro::nitroplayer::DownloadQueueStatus fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
58
66
  jsi::Object obj = arg.asObject(runtime);
59
67
  return margelo::nitro::nitroplayer::DownloadQueueStatus(
60
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "pendingCount")),
61
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "activeCount")),
62
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "completedCount")),
63
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "failedCount")),
64
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "totalBytesToDownload")),
65
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "totalBytesDownloaded")),
66
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "overallProgress"))
68
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "pendingCount"))),
69
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "activeCount"))),
70
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "completedCount"))),
71
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "failedCount"))),
72
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "totalBytesToDownload"))),
73
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "totalBytesDownloaded"))),
74
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "overallProgress")))
67
75
  );
68
76
  }
69
77
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::nitroplayer::DownloadQueueStatus& arg) {
70
78
  jsi::Object obj(runtime);
71
- obj.setProperty(runtime, "pendingCount", JSIConverter<double>::toJSI(runtime, arg.pendingCount));
72
- obj.setProperty(runtime, "activeCount", JSIConverter<double>::toJSI(runtime, arg.activeCount));
73
- obj.setProperty(runtime, "completedCount", JSIConverter<double>::toJSI(runtime, arg.completedCount));
74
- obj.setProperty(runtime, "failedCount", JSIConverter<double>::toJSI(runtime, arg.failedCount));
75
- obj.setProperty(runtime, "totalBytesToDownload", JSIConverter<double>::toJSI(runtime, arg.totalBytesToDownload));
76
- obj.setProperty(runtime, "totalBytesDownloaded", JSIConverter<double>::toJSI(runtime, arg.totalBytesDownloaded));
77
- obj.setProperty(runtime, "overallProgress", JSIConverter<double>::toJSI(runtime, arg.overallProgress));
79
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "pendingCount"), JSIConverter<double>::toJSI(runtime, arg.pendingCount));
80
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "activeCount"), JSIConverter<double>::toJSI(runtime, arg.activeCount));
81
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "completedCount"), JSIConverter<double>::toJSI(runtime, arg.completedCount));
82
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "failedCount"), JSIConverter<double>::toJSI(runtime, arg.failedCount));
83
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "totalBytesToDownload"), JSIConverter<double>::toJSI(runtime, arg.totalBytesToDownload));
84
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "totalBytesDownloaded"), JSIConverter<double>::toJSI(runtime, arg.totalBytesDownloaded));
85
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "overallProgress"), JSIConverter<double>::toJSI(runtime, arg.overallProgress));
78
86
  return obj;
79
87
  }
80
88
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -85,13 +93,13 @@ namespace margelo::nitro {
85
93
  if (!nitro::isPlainObject(runtime, obj)) {
86
94
  return false;
87
95
  }
88
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "pendingCount"))) return false;
89
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "activeCount"))) return false;
90
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "completedCount"))) return false;
91
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "failedCount"))) return false;
92
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "totalBytesToDownload"))) return false;
93
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "totalBytesDownloaded"))) return false;
94
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "overallProgress"))) return false;
96
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "pendingCount")))) return false;
97
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "activeCount")))) return false;
98
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "completedCount")))) return false;
99
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "failedCount")))) return false;
100
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "totalBytesToDownload")))) return false;
101
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "totalBytesDownloaded")))) return false;
102
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "overallProgress")))) return false;
95
103
  return true;
96
104
  }
97
105
  };
@@ -2,7 +2,7 @@
2
2
  /// DownloadState.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// DownloadStorageInfo.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,11 @@
22
22
  #else
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
25
30
 
26
31
 
27
32
 
@@ -32,7 +37,7 @@ namespace margelo::nitro::nitroplayer {
32
37
  /**
33
38
  * A struct which can be represented as a JavaScript object (DownloadStorageInfo).
34
39
  */
35
- struct DownloadStorageInfo {
40
+ struct DownloadStorageInfo final {
36
41
  public:
37
42
  double totalDownloadedSize SWIFT_PRIVATE;
38
43
  double trackCount SWIFT_PRIVATE;
@@ -43,6 +48,9 @@ namespace margelo::nitro::nitroplayer {
43
48
  public:
44
49
  DownloadStorageInfo() = default;
45
50
  explicit DownloadStorageInfo(double totalDownloadedSize, double trackCount, double playlistCount, double availableSpace, double totalSpace): totalDownloadedSize(totalDownloadedSize), trackCount(trackCount), playlistCount(playlistCount), availableSpace(availableSpace), totalSpace(totalSpace) {}
51
+
52
+ public:
53
+ friend bool operator==(const DownloadStorageInfo& lhs, const DownloadStorageInfo& rhs) = default;
46
54
  };
47
55
 
48
56
  } // namespace margelo::nitro::nitroplayer
@@ -55,20 +63,20 @@ namespace margelo::nitro {
55
63
  static inline margelo::nitro::nitroplayer::DownloadStorageInfo fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
56
64
  jsi::Object obj = arg.asObject(runtime);
57
65
  return margelo::nitro::nitroplayer::DownloadStorageInfo(
58
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "totalDownloadedSize")),
59
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "trackCount")),
60
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "playlistCount")),
61
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "availableSpace")),
62
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "totalSpace"))
66
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "totalDownloadedSize"))),
67
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "trackCount"))),
68
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "playlistCount"))),
69
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "availableSpace"))),
70
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "totalSpace")))
63
71
  );
64
72
  }
65
73
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::nitroplayer::DownloadStorageInfo& arg) {
66
74
  jsi::Object obj(runtime);
67
- obj.setProperty(runtime, "totalDownloadedSize", JSIConverter<double>::toJSI(runtime, arg.totalDownloadedSize));
68
- obj.setProperty(runtime, "trackCount", JSIConverter<double>::toJSI(runtime, arg.trackCount));
69
- obj.setProperty(runtime, "playlistCount", JSIConverter<double>::toJSI(runtime, arg.playlistCount));
70
- obj.setProperty(runtime, "availableSpace", JSIConverter<double>::toJSI(runtime, arg.availableSpace));
71
- obj.setProperty(runtime, "totalSpace", JSIConverter<double>::toJSI(runtime, arg.totalSpace));
75
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "totalDownloadedSize"), JSIConverter<double>::toJSI(runtime, arg.totalDownloadedSize));
76
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "trackCount"), JSIConverter<double>::toJSI(runtime, arg.trackCount));
77
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "playlistCount"), JSIConverter<double>::toJSI(runtime, arg.playlistCount));
78
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "availableSpace"), JSIConverter<double>::toJSI(runtime, arg.availableSpace));
79
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "totalSpace"), JSIConverter<double>::toJSI(runtime, arg.totalSpace));
72
80
  return obj;
73
81
  }
74
82
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -79,11 +87,11 @@ namespace margelo::nitro {
79
87
  if (!nitro::isPlainObject(runtime, obj)) {
80
88
  return false;
81
89
  }
82
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "totalDownloadedSize"))) return false;
83
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "trackCount"))) return false;
84
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "playlistCount"))) return false;
85
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "availableSpace"))) return false;
86
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "totalSpace"))) return false;
90
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "totalDownloadedSize")))) return false;
91
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "trackCount")))) return false;
92
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "playlistCount")))) return false;
93
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "availableSpace")))) return false;
94
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "totalSpace")))) return false;
87
95
  return true;
88
96
  }
89
97
  };
@@ -2,7 +2,7 @@
2
2
  /// DownloadTask.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,11 @@
22
22
  #else
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
25
30
 
26
31
  // Forward declaration of `DownloadState` to properly resolve imports.
27
32
  namespace margelo::nitro::nitroplayer { enum class DownloadState; }
@@ -43,7 +48,7 @@ namespace margelo::nitro::nitroplayer {
43
48
  /**
44
49
  * A struct which can be represented as a JavaScript object (DownloadTask).
45
50
  */
46
- struct DownloadTask {
51
+ struct DownloadTask final {
47
52
  public:
48
53
  std::string downloadId SWIFT_PRIVATE;
49
54
  std::string trackId SWIFT_PRIVATE;
@@ -59,6 +64,9 @@ namespace margelo::nitro::nitroplayer {
59
64
  public:
60
65
  DownloadTask() = default;
61
66
  explicit DownloadTask(std::string downloadId, std::string trackId, std::optional<std::variant<nitro::NullType, std::string>> playlistId, DownloadState state, DownloadProgress progress, double createdAt, std::optional<std::variant<nitro::NullType, double>> startedAt, std::optional<std::variant<nitro::NullType, double>> completedAt, std::optional<std::variant<nitro::NullType, DownloadError>> error, double retryCount): downloadId(downloadId), trackId(trackId), playlistId(playlistId), state(state), progress(progress), createdAt(createdAt), startedAt(startedAt), completedAt(completedAt), error(error), retryCount(retryCount) {}
67
+
68
+ public:
69
+ friend bool operator==(const DownloadTask& lhs, const DownloadTask& rhs) = default;
62
70
  };
63
71
 
64
72
  } // namespace margelo::nitro::nitroplayer
@@ -71,30 +79,30 @@ namespace margelo::nitro {
71
79
  static inline margelo::nitro::nitroplayer::DownloadTask fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
72
80
  jsi::Object obj = arg.asObject(runtime);
73
81
  return margelo::nitro::nitroplayer::DownloadTask(
74
- JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "downloadId")),
75
- JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "trackId")),
76
- JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::fromJSI(runtime, obj.getProperty(runtime, "playlistId")),
77
- JSIConverter<margelo::nitro::nitroplayer::DownloadState>::fromJSI(runtime, obj.getProperty(runtime, "state")),
78
- JSIConverter<margelo::nitro::nitroplayer::DownloadProgress>::fromJSI(runtime, obj.getProperty(runtime, "progress")),
79
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "createdAt")),
80
- JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::fromJSI(runtime, obj.getProperty(runtime, "startedAt")),
81
- JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::fromJSI(runtime, obj.getProperty(runtime, "completedAt")),
82
- JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::nitroplayer::DownloadError>>>::fromJSI(runtime, obj.getProperty(runtime, "error")),
83
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "retryCount"))
82
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "downloadId"))),
83
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "trackId"))),
84
+ JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "playlistId"))),
85
+ JSIConverter<margelo::nitro::nitroplayer::DownloadState>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "state"))),
86
+ JSIConverter<margelo::nitro::nitroplayer::DownloadProgress>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "progress"))),
87
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "createdAt"))),
88
+ JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "startedAt"))),
89
+ JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "completedAt"))),
90
+ JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::nitroplayer::DownloadError>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "error"))),
91
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "retryCount")))
84
92
  );
85
93
  }
86
94
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::nitroplayer::DownloadTask& arg) {
87
95
  jsi::Object obj(runtime);
88
- obj.setProperty(runtime, "downloadId", JSIConverter<std::string>::toJSI(runtime, arg.downloadId));
89
- obj.setProperty(runtime, "trackId", JSIConverter<std::string>::toJSI(runtime, arg.trackId));
90
- obj.setProperty(runtime, "playlistId", JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::toJSI(runtime, arg.playlistId));
91
- obj.setProperty(runtime, "state", JSIConverter<margelo::nitro::nitroplayer::DownloadState>::toJSI(runtime, arg.state));
92
- obj.setProperty(runtime, "progress", JSIConverter<margelo::nitro::nitroplayer::DownloadProgress>::toJSI(runtime, arg.progress));
93
- obj.setProperty(runtime, "createdAt", JSIConverter<double>::toJSI(runtime, arg.createdAt));
94
- obj.setProperty(runtime, "startedAt", JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::toJSI(runtime, arg.startedAt));
95
- obj.setProperty(runtime, "completedAt", JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::toJSI(runtime, arg.completedAt));
96
- obj.setProperty(runtime, "error", JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::nitroplayer::DownloadError>>>::toJSI(runtime, arg.error));
97
- obj.setProperty(runtime, "retryCount", JSIConverter<double>::toJSI(runtime, arg.retryCount));
96
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "downloadId"), JSIConverter<std::string>::toJSI(runtime, arg.downloadId));
97
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "trackId"), JSIConverter<std::string>::toJSI(runtime, arg.trackId));
98
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "playlistId"), JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::toJSI(runtime, arg.playlistId));
99
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "state"), JSIConverter<margelo::nitro::nitroplayer::DownloadState>::toJSI(runtime, arg.state));
100
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "progress"), JSIConverter<margelo::nitro::nitroplayer::DownloadProgress>::toJSI(runtime, arg.progress));
101
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "createdAt"), JSIConverter<double>::toJSI(runtime, arg.createdAt));
102
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "startedAt"), JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::toJSI(runtime, arg.startedAt));
103
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "completedAt"), JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::toJSI(runtime, arg.completedAt));
104
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "error"), JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::nitroplayer::DownloadError>>>::toJSI(runtime, arg.error));
105
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "retryCount"), JSIConverter<double>::toJSI(runtime, arg.retryCount));
98
106
  return obj;
99
107
  }
100
108
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -105,16 +113,16 @@ namespace margelo::nitro {
105
113
  if (!nitro::isPlainObject(runtime, obj)) {
106
114
  return false;
107
115
  }
108
- if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "downloadId"))) return false;
109
- if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "trackId"))) return false;
110
- if (!JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::canConvert(runtime, obj.getProperty(runtime, "playlistId"))) return false;
111
- if (!JSIConverter<margelo::nitro::nitroplayer::DownloadState>::canConvert(runtime, obj.getProperty(runtime, "state"))) return false;
112
- if (!JSIConverter<margelo::nitro::nitroplayer::DownloadProgress>::canConvert(runtime, obj.getProperty(runtime, "progress"))) return false;
113
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "createdAt"))) return false;
114
- if (!JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::canConvert(runtime, obj.getProperty(runtime, "startedAt"))) return false;
115
- if (!JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::canConvert(runtime, obj.getProperty(runtime, "completedAt"))) return false;
116
- if (!JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::nitroplayer::DownloadError>>>::canConvert(runtime, obj.getProperty(runtime, "error"))) return false;
117
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "retryCount"))) return false;
116
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "downloadId")))) return false;
117
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "trackId")))) return false;
118
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "playlistId")))) return false;
119
+ if (!JSIConverter<margelo::nitro::nitroplayer::DownloadState>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "state")))) return false;
120
+ if (!JSIConverter<margelo::nitro::nitroplayer::DownloadProgress>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "progress")))) return false;
121
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "createdAt")))) return false;
122
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "startedAt")))) return false;
123
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, double>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "completedAt")))) return false;
124
+ if (!JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::nitroplayer::DownloadError>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "error")))) return false;
125
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "retryCount")))) return false;
118
126
  return true;
119
127
  }
120
128
  };
@@ -2,7 +2,7 @@
2
2
  /// DownloadedPlaylist.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,11 @@
22
22
  #else
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
25
30
 
26
31
  // Forward declaration of `Playlist` to properly resolve imports.
27
32
  namespace margelo::nitro::nitroplayer { struct Playlist; }
@@ -38,7 +43,7 @@ namespace margelo::nitro::nitroplayer {
38
43
  /**
39
44
  * A struct which can be represented as a JavaScript object (DownloadedPlaylist).
40
45
  */
41
- struct DownloadedPlaylist {
46
+ struct DownloadedPlaylist final {
42
47
  public:
43
48
  std::string playlistId SWIFT_PRIVATE;
44
49
  Playlist originalPlaylist SWIFT_PRIVATE;
@@ -50,6 +55,9 @@ namespace margelo::nitro::nitroplayer {
50
55
  public:
51
56
  DownloadedPlaylist() = default;
52
57
  explicit DownloadedPlaylist(std::string playlistId, Playlist originalPlaylist, std::vector<DownloadedTrack> downloadedTracks, double totalSize, double downloadedAt, bool isComplete): playlistId(playlistId), originalPlaylist(originalPlaylist), downloadedTracks(downloadedTracks), totalSize(totalSize), downloadedAt(downloadedAt), isComplete(isComplete) {}
58
+
59
+ public:
60
+ friend bool operator==(const DownloadedPlaylist& lhs, const DownloadedPlaylist& rhs) = default;
53
61
  };
54
62
 
55
63
  } // namespace margelo::nitro::nitroplayer
@@ -62,22 +70,22 @@ namespace margelo::nitro {
62
70
  static inline margelo::nitro::nitroplayer::DownloadedPlaylist fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
63
71
  jsi::Object obj = arg.asObject(runtime);
64
72
  return margelo::nitro::nitroplayer::DownloadedPlaylist(
65
- JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "playlistId")),
66
- JSIConverter<margelo::nitro::nitroplayer::Playlist>::fromJSI(runtime, obj.getProperty(runtime, "originalPlaylist")),
67
- JSIConverter<std::vector<margelo::nitro::nitroplayer::DownloadedTrack>>::fromJSI(runtime, obj.getProperty(runtime, "downloadedTracks")),
68
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "totalSize")),
69
- JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "downloadedAt")),
70
- JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "isComplete"))
73
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "playlistId"))),
74
+ JSIConverter<margelo::nitro::nitroplayer::Playlist>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "originalPlaylist"))),
75
+ JSIConverter<std::vector<margelo::nitro::nitroplayer::DownloadedTrack>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "downloadedTracks"))),
76
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "totalSize"))),
77
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "downloadedAt"))),
78
+ JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isComplete")))
71
79
  );
72
80
  }
73
81
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::nitroplayer::DownloadedPlaylist& arg) {
74
82
  jsi::Object obj(runtime);
75
- obj.setProperty(runtime, "playlistId", JSIConverter<std::string>::toJSI(runtime, arg.playlistId));
76
- obj.setProperty(runtime, "originalPlaylist", JSIConverter<margelo::nitro::nitroplayer::Playlist>::toJSI(runtime, arg.originalPlaylist));
77
- obj.setProperty(runtime, "downloadedTracks", JSIConverter<std::vector<margelo::nitro::nitroplayer::DownloadedTrack>>::toJSI(runtime, arg.downloadedTracks));
78
- obj.setProperty(runtime, "totalSize", JSIConverter<double>::toJSI(runtime, arg.totalSize));
79
- obj.setProperty(runtime, "downloadedAt", JSIConverter<double>::toJSI(runtime, arg.downloadedAt));
80
- obj.setProperty(runtime, "isComplete", JSIConverter<bool>::toJSI(runtime, arg.isComplete));
83
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "playlistId"), JSIConverter<std::string>::toJSI(runtime, arg.playlistId));
84
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "originalPlaylist"), JSIConverter<margelo::nitro::nitroplayer::Playlist>::toJSI(runtime, arg.originalPlaylist));
85
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "downloadedTracks"), JSIConverter<std::vector<margelo::nitro::nitroplayer::DownloadedTrack>>::toJSI(runtime, arg.downloadedTracks));
86
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "totalSize"), JSIConverter<double>::toJSI(runtime, arg.totalSize));
87
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "downloadedAt"), JSIConverter<double>::toJSI(runtime, arg.downloadedAt));
88
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "isComplete"), JSIConverter<bool>::toJSI(runtime, arg.isComplete));
81
89
  return obj;
82
90
  }
83
91
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -88,12 +96,12 @@ namespace margelo::nitro {
88
96
  if (!nitro::isPlainObject(runtime, obj)) {
89
97
  return false;
90
98
  }
91
- if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "playlistId"))) return false;
92
- if (!JSIConverter<margelo::nitro::nitroplayer::Playlist>::canConvert(runtime, obj.getProperty(runtime, "originalPlaylist"))) return false;
93
- if (!JSIConverter<std::vector<margelo::nitro::nitroplayer::DownloadedTrack>>::canConvert(runtime, obj.getProperty(runtime, "downloadedTracks"))) return false;
94
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "totalSize"))) return false;
95
- if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "downloadedAt"))) return false;
96
- if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "isComplete"))) return false;
99
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "playlistId")))) return false;
100
+ if (!JSIConverter<margelo::nitro::nitroplayer::Playlist>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "originalPlaylist")))) return false;
101
+ if (!JSIConverter<std::vector<margelo::nitro::nitroplayer::DownloadedTrack>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "downloadedTracks")))) return false;
102
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "totalSize")))) return false;
103
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "downloadedAt")))) return false;
104
+ if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isComplete")))) return false;
97
105
  return true;
98
106
  }
99
107
  };