11 Commits

Author SHA1 Message Date
32e26138f9 5.21 2026-02-26 15:24:11 +07:00
23a9ea0820 5.20 2026-02-26 14:58:55 +07:00
28534ab6aa 5.19 2026-02-18 08:00:12 +07:00
11c95a7569 5.18 2026-02-10 10:23:05 +07:00
7a2ba658eb 5.17 2026-02-08 14:22:56 +07:00
199a5be7c5 5.16 2026-02-02 16:29:23 +07:00
582f58294b 5.15 2026-01-27 10:45:08 +07:00
f04a3e5eec 5.14 2026-01-24 10:06:38 +07:00
c29efe1e30 5.13 2026-01-03 07:59:52 +07:00
6f123d9191 5.12 2025-12-26 12:04:29 +07:00
7175167bc2 5.11 2025-12-23 15:38:44 +07:00
33 changed files with 14505 additions and 5715 deletions

View File

@ -4,6 +4,23 @@
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>BinaryPath</key>
<string>M2Kit.framework/Versions/A/M2Kit</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-maccatalyst</string>
<key>LibraryPath</key>
<string>M2Kit.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>maccatalyst</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>M2Kit.framework/M2Kit</string>
@ -35,23 +52,6 @@
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>M2Kit.framework/Versions/A/M2Kit</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-maccatalyst</string>
<key>LibraryPath</key>
<string>M2Kit.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>maccatalyst</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>

View File

@ -1,6 +1,6 @@
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// Generated by Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
#ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H
#pragma clang diagnostic push

View File

@ -1,7 +1,7 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// swift-module-flags: -target arm64-apple-ios15.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.1
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target arm64-apple-ios16.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine
import CommonCrypto
import Foundation
@ -416,48 +416,75 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws
}
public struct M2API {
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
#endif
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@ -472,18 +499,28 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@ -495,94 +532,88 @@ extension M2Kit.M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
#endif
}
@available(*, deprecated, message: "M2Backup is deprecated. Use M2Backup instead.")
public struct M2Backup {
public static var backupCode: Swift.String {
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
}
public struct M2Backup2 {
public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2HTTP {
@_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@available(*, deprecated, message: "M2Image is deprecated. Use M2Image2 instead.")
public struct M2Image {
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
}
public struct M2Image2 {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Musi {
@_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
@ -596,63 +627,63 @@ public enum M2NetConnecttionType {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
@_Concurrency.MainActor public func stop()
}
public struct M2Radio {
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting {
@ -928,33 +959,34 @@ extension M2Kit.M2Radio {
}
@objc deinit
}
public struct M2Utils {
public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
public static var countryCode: Swift.String {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
@ -972,12 +1004,12 @@ public enum M2YTIDType : Swift.String {
get
}
}
public struct M2YT {
@_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -988,9 +1020,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,7 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// swift-module-flags: -target arm64-apple-ios15.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.1
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target arm64-apple-ios16.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine
import CommonCrypto
import Foundation
@ -416,48 +416,75 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws
}
public struct M2API {
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
#endif
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@ -472,18 +499,28 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@ -495,94 +532,88 @@ extension M2Kit.M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
#endif
}
@available(*, deprecated, message: "M2Backup is deprecated. Use M2Backup instead.")
public struct M2Backup {
public static var backupCode: Swift.String {
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
}
public struct M2Backup2 {
public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2HTTP {
@_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@available(*, deprecated, message: "M2Image is deprecated. Use M2Image2 instead.")
public struct M2Image {
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
}
public struct M2Image2 {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Musi {
@_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
@ -596,63 +627,63 @@ public enum M2NetConnecttionType {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
@_Concurrency.MainActor public func stop()
}
public struct M2Radio {
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting {
@ -928,33 +959,34 @@ extension M2Kit.M2Radio {
}
@objc deinit
}
public struct M2Utils {
public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
public static var countryCode: Swift.String {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
@ -972,12 +1004,12 @@ public enum M2YTIDType : Swift.String {
get
}
}
public struct M2YT {
@_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -988,9 +1020,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,6 +1,6 @@
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// Generated by Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
#ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H
#pragma clang diagnostic push
@ -324,7 +324,7 @@ SWIFT_CLASS("_TtC5M2Kit7M2WebVC")
#endif
#elif defined(__x86_64__) && __x86_64__
// Generated by Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// Generated by Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
#ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H
#pragma clang diagnostic push

View File

@ -1,7 +1,7 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// swift-module-flags: -target arm64-apple-ios15.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.1
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target arm64-apple-ios16.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine
import CommonCrypto
import Foundation
@ -416,48 +416,75 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws
}
public struct M2API {
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
#endif
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@ -472,18 +499,28 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@ -495,94 +532,88 @@ extension M2Kit.M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
#endif
}
@available(*, deprecated, message: "M2Backup is deprecated. Use M2Backup instead.")
public struct M2Backup {
public static var backupCode: Swift.String {
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
}
public struct M2Backup2 {
public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2HTTP {
@_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@available(*, deprecated, message: "M2Image is deprecated. Use M2Image2 instead.")
public struct M2Image {
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
}
public struct M2Image2 {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Musi {
@_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
@ -596,63 +627,63 @@ public enum M2NetConnecttionType {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
@_Concurrency.MainActor public func stop()
}
public struct M2Radio {
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting {
@ -928,33 +959,34 @@ extension M2Kit.M2Radio {
}
@objc deinit
}
public struct M2Utils {
public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
public static var countryCode: Swift.String {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
@ -972,12 +1004,12 @@ public enum M2YTIDType : Swift.String {
get
}
}
public struct M2YT {
@_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -988,9 +1020,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,7 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// swift-module-flags: -target arm64-apple-ios15.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.1
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target arm64-apple-ios16.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine
import CommonCrypto
import Foundation
@ -416,48 +416,75 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws
}
public struct M2API {
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
#endif
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@ -472,18 +499,28 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@ -495,94 +532,88 @@ extension M2Kit.M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
#endif
}
@available(*, deprecated, message: "M2Backup is deprecated. Use M2Backup instead.")
public struct M2Backup {
public static var backupCode: Swift.String {
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
}
public struct M2Backup2 {
public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2HTTP {
@_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@available(*, deprecated, message: "M2Image is deprecated. Use M2Image2 instead.")
public struct M2Image {
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
}
public struct M2Image2 {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Musi {
@_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
@ -596,63 +627,63 @@ public enum M2NetConnecttionType {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
@_Concurrency.MainActor public func stop()
}
public struct M2Radio {
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting {
@ -928,33 +959,34 @@ extension M2Kit.M2Radio {
}
@objc deinit
}
public struct M2Utils {
public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
public static var countryCode: Swift.String {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
@ -972,12 +1004,12 @@ public enum M2YTIDType : Swift.String {
get
}
}
public struct M2YT {
@_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -988,9 +1020,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,7 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// swift-module-flags: -target x86_64-apple-ios15.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.1
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target x86_64-apple-ios16.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine
import CommonCrypto
import Foundation
@ -416,48 +416,75 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws
}
public struct M2API {
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
#endif
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@ -472,18 +499,28 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@ -495,94 +532,88 @@ extension M2Kit.M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
#endif
}
@available(*, deprecated, message: "M2Backup is deprecated. Use M2Backup instead.")
public struct M2Backup {
public static var backupCode: Swift.String {
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
}
public struct M2Backup2 {
public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2HTTP {
@_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@available(*, deprecated, message: "M2Image is deprecated. Use M2Image2 instead.")
public struct M2Image {
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
}
public struct M2Image2 {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Musi {
@_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
@ -596,63 +627,63 @@ public enum M2NetConnecttionType {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
@_Concurrency.MainActor public func stop()
}
public struct M2Radio {
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting {
@ -928,33 +959,34 @@ extension M2Kit.M2Radio {
}
@objc deinit
}
public struct M2Utils {
public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
public static var countryCode: Swift.String {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
@ -972,12 +1004,12 @@ public enum M2YTIDType : Swift.String {
get
}
}
public struct M2YT {
@_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -988,9 +1020,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,7 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// swift-module-flags: -target x86_64-apple-ios15.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.1
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target x86_64-apple-ios16.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine
import CommonCrypto
import Foundation
@ -416,48 +416,75 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws
}
public struct M2API {
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
#endif
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@ -472,18 +499,28 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@ -495,94 +532,88 @@ extension M2Kit.M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
#endif
}
@available(*, deprecated, message: "M2Backup is deprecated. Use M2Backup instead.")
public struct M2Backup {
public static var backupCode: Swift.String {
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
}
public struct M2Backup2 {
public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2HTTP {
@_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@available(*, deprecated, message: "M2Image is deprecated. Use M2Image2 instead.")
public struct M2Image {
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
}
public struct M2Image2 {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Musi {
@_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
@ -596,63 +627,63 @@ public enum M2NetConnecttionType {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
@_Concurrency.MainActor public func stop()
}
public struct M2Radio {
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting {
@ -928,33 +959,34 @@ extension M2Kit.M2Radio {
}
@objc deinit
}
public struct M2Utils {
public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
public static var countryCode: Swift.String {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
@ -972,12 +1004,12 @@ public enum M2YTIDType : Swift.String {
get
}
}
public struct M2YT {
@_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -988,9 +1020,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>25B78</string>
<string>25D125</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>5.10</string>
<string>5.21</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
@ -27,21 +27,21 @@
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>25B74</string>
<string>25C57</string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>26.1</string>
<string>26.2</string>
<key>DTSDKBuild</key>
<string>25B74</string>
<string>25C57</string>
<key>DTSDKName</key>
<string>macosx26.1</string>
<string>macosx26.2</string>
<key>DTXcode</key>
<string>2611</string>
<string>2620</string>
<key>DTXcodeBuild</key>
<string>17B100</string>
<string>17C52</string>
<key>LSMinimumSystemVersion</key>
<string>12.0</string>
<string>13.0</string>
<key>UIDeviceFamily</key>
<array>
<integer>2</integer>

View File

@ -1,6 +1,6 @@
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// Generated by Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
#ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H
#pragma clang diagnostic push
@ -324,7 +324,7 @@ SWIFT_CLASS("_TtC5M2Kit7M2WebVC")
#endif
#elif defined(__x86_64__) && __x86_64__
// Generated by Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// Generated by Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
#ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H
#pragma clang diagnostic push

View File

@ -1,7 +1,7 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// swift-module-flags: -target arm64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.1
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target arm64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine
import CommonCrypto
import Foundation
@ -416,48 +416,75 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws
}
public struct M2API {
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
#endif
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@ -472,18 +499,28 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@ -495,94 +532,88 @@ extension M2Kit.M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
#endif
}
@available(*, deprecated, message: "M2Backup is deprecated. Use M2Backup instead.")
public struct M2Backup {
public static var backupCode: Swift.String {
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
}
public struct M2Backup2 {
public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2HTTP {
@_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@available(*, deprecated, message: "M2Image is deprecated. Use M2Image2 instead.")
public struct M2Image {
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
}
public struct M2Image2 {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Musi {
@_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
@ -596,63 +627,63 @@ public enum M2NetConnecttionType {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
@_Concurrency.MainActor public func stop()
}
public struct M2Radio {
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting {
@ -928,33 +959,34 @@ extension M2Kit.M2Radio {
}
@objc deinit
}
public struct M2Utils {
public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
public static var countryCode: Swift.String {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
@ -972,12 +1004,12 @@ public enum M2YTIDType : Swift.String {
get
}
}
public struct M2YT {
@_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -988,9 +1020,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,7 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// swift-module-flags: -target arm64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.1
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target arm64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine
import CommonCrypto
import Foundation
@ -416,48 +416,75 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws
}
public struct M2API {
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
#endif
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@ -472,18 +499,28 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@ -495,94 +532,88 @@ extension M2Kit.M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
#endif
}
@available(*, deprecated, message: "M2Backup is deprecated. Use M2Backup instead.")
public struct M2Backup {
public static var backupCode: Swift.String {
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
}
public struct M2Backup2 {
public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2HTTP {
@_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@available(*, deprecated, message: "M2Image is deprecated. Use M2Image2 instead.")
public struct M2Image {
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
}
public struct M2Image2 {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Musi {
@_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
@ -596,63 +627,63 @@ public enum M2NetConnecttionType {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
@_Concurrency.MainActor public func stop()
}
public struct M2Radio {
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting {
@ -928,33 +959,34 @@ extension M2Kit.M2Radio {
}
@objc deinit
}
public struct M2Utils {
public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
public static var countryCode: Swift.String {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
@ -972,12 +1004,12 @@ public enum M2YTIDType : Swift.String {
get
}
}
public struct M2YT {
@_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -988,9 +1020,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,7 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// swift-module-flags: -target x86_64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.1
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target x86_64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine
import CommonCrypto
import Foundation
@ -416,48 +416,75 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws
}
public struct M2API {
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
#endif
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@ -472,18 +499,28 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@ -495,94 +532,88 @@ extension M2Kit.M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
#endif
}
@available(*, deprecated, message: "M2Backup is deprecated. Use M2Backup instead.")
public struct M2Backup {
public static var backupCode: Swift.String {
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
}
public struct M2Backup2 {
public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2HTTP {
@_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@available(*, deprecated, message: "M2Image is deprecated. Use M2Image2 instead.")
public struct M2Image {
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
}
public struct M2Image2 {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Musi {
@_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
@ -596,63 +627,63 @@ public enum M2NetConnecttionType {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
@_Concurrency.MainActor public func stop()
}
public struct M2Radio {
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting {
@ -928,33 +959,34 @@ extension M2Kit.M2Radio {
}
@objc deinit
}
public struct M2Utils {
public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
public static var countryCode: Swift.String {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
@ -972,12 +1004,12 @@ public enum M2YTIDType : Swift.String {
get
}
}
public struct M2YT {
@_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -988,9 +1020,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,7 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// swift-module-flags: -target x86_64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.1
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target x86_64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine
import CommonCrypto
import Foundation
@ -416,48 +416,75 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws
}
public struct M2API {
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
#endif
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@ -472,18 +499,28 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@ -495,94 +532,88 @@ extension M2Kit.M2API {
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
#endif
}
@available(*, deprecated, message: "M2Backup is deprecated. Use M2Backup instead.")
public struct M2Backup {
public static var backupCode: Swift.String {
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
}
public struct M2Backup2 {
public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2HTTP {
@_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
}
@available(*, deprecated, message: "M2Image is deprecated. Use M2Image2 instead.")
public struct M2Image {
@_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
}
public struct M2Image2 {
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
public struct M2Musi {
@_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
@ -596,63 +627,63 @@ public enum M2NetConnecttionType {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
@_Concurrency.MainActor public func stop()
}
public struct M2Radio {
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
}
extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting {
@ -928,33 +959,34 @@ extension M2Kit.M2Radio {
}
@objc deinit
}
public struct M2Utils {
public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
public static var countryCode: Swift.String {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
@ -972,12 +1004,12 @@ public enum M2YTIDType : Swift.String {
get
}
}
public struct M2YT {
@_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -988,9 +1020,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -6,51 +6,51 @@
<dict>
<key>Headers/M2Kit-Swift.h</key>
<data>
NgFFzUiog7sDYxU5OlrS370BZo4=
7Rdmc7huiI6sKd5bwPLEoLlkiYc=
</data>
<key>Info.plist</key>
<data>
a7qF5PYL8uEVvW3cxy+avYhbSCg=
5ad3DMtvSy+UiEqQL5L3IpvbNwM=
</data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
<data>
RysJp8xxX8fA6YLdai411u6QLH8=
TC+vEsyjaMZg96UqgISIGVuGq7E=
</data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
<data>
AEmHfBNGXnc2LgcG4WDv2nKn/lk=
ZNnL2sIUmJOqPgBhQbE6NTkaP2Y=
</data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
<data>
jVzRhlrdZiD/DiubSnWdivWZqJ8=
L1ZE0uPSnnbndRLRBhX27frrO1o=
</data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
<data>
AEmHfBNGXnc2LgcG4WDv2nKn/lk=
ZNnL2sIUmJOqPgBhQbE6NTkaP2Y=
</data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<data>
lu0HMQKANSFyWxWsqAuQcMEV5ho=
CU2iSq/IfDqQUDZrsSO2gtOd4g8=
</data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
<data>
RysJp8xxX8fA6YLdai411u6QLH8=
TC+vEsyjaMZg96UqgISIGVuGq7E=
</data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
<data>
UF0QfVyDlt3bHRbSD84nuw6kGR0=
XHVDZHBijtnz9qSt5ZU+wpNNpsI=
</data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<data>
k0T6WFb7wWUMfmlyLXeWCHXI38Y=
HK2TtOyJP2OIxypINN+SN8Y+Cvg=
</data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<data>
UF0QfVyDlt3bHRbSD84nuw6kGR0=
XHVDZHBijtnz9qSt5ZU+wpNNpsI=
</data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<data>
MHy0LGW9A0YW03b6wxowEOTGMqY=
6zXDMD4fnoXg1MDldV4x7OTqbmw=
</data>
<key>Modules/module.modulemap</key>
<data>
@ -63,77 +63,77 @@
<dict>
<key>hash2</key>
<data>
B6/7i532nXZ2zw4EoaQs8rldJSlkv4J+tYwBcDYWcdI=
SzL7aZykET1tYTLu2DE+CPYFwYoxjE/pNa2/+qsMmJk=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
<dict>
<key>hash2</key>
<data>
DH2T7n1atLMt8O7/exZxO6p8Nb1WPrTIPn4PLkHtLig=
JktVC2KBC3JPg8VWOZLvCJhvWj4JHHUNfBfzNqsyfDY=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
<dict>
<key>hash2</key>
<data>
vACXnmy1tt9nQ9q9ieI349GyrdOWn4GEqVZh5J4uq+Y=
d3iNWU0sljx2dtRpvXfvRekNgrvPo0NyXOyVgjEBhWg=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
<dict>
<key>hash2</key>
<data>
Ht9sZQSZorMOJT8q6t1gRumY3C6ijcW4lE4Ze4Y1gdo=
Hj6cXoyFvKFEZFb+nynmECAto2DJHn/6OQE34s9Upmw=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
<dict>
<key>hash2</key>
<data>
vACXnmy1tt9nQ9q9ieI349GyrdOWn4GEqVZh5J4uq+Y=
d3iNWU0sljx2dtRpvXfvRekNgrvPo0NyXOyVgjEBhWg=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash2</key>
<data>
vrhDR3rpZro/TqR7ZhKUrekMrUDDYIQFyZlKP9vX3gA=
fTxQB2cpLY0xhLwpZ5Fa0uvc/byVoQfdPiaejua86ts=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
<dict>
<key>hash2</key>
<data>
DH2T7n1atLMt8O7/exZxO6p8Nb1WPrTIPn4PLkHtLig=
JktVC2KBC3JPg8VWOZLvCJhvWj4JHHUNfBfzNqsyfDY=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
<dict>
<key>hash2</key>
<data>
ra9xPxuNkyIz9MnkW6hbtxP3DLKJ9v09o9ujvkVgFWo=
xOw7fMNaRORUv3s7HbNx/ZlZSWICl3p+IvlHUwZDhkI=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<dict>
<key>hash2</key>
<data>
+nVXla5t1CEQA4KUGbZbqTO1t6PxGfes549ADpAIbOQ=
90gsLAcPijC4sB5B5DyX1RGcthuvJ/JvWLpEF23dE20=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<dict>
<key>hash2</key>
<data>
ra9xPxuNkyIz9MnkW6hbtxP3DLKJ9v09o9ujvkVgFWo=
xOw7fMNaRORUv3s7HbNx/ZlZSWICl3p+IvlHUwZDhkI=
</data>
</dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash2</key>
<data>
lY3vnzPDMd+gav7DidsvBzX4SMB8s+LmzU9292mQ+LY=
IujFwsfIWwBQ5nma1tFW4VVG1xBgHoM7wg+8ZVPWn3s=
</data>
</dict>
<key>Modules/module.modulemap</key>

View File

@ -1,3 +1,3 @@
M2Kit
=====
v5.10
5.21