first commit

This commit is contained in:
2025-07-19 08:21:38 +07:00
commit eb8062de08
44 changed files with 73797 additions and 0 deletions

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,426 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.1.2 effective-5.10 (swiftlang-6.1.2.1.2 clang-1700.0.13.5)
// 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 -interface-compiler-version 6.1.2
import Combine
import CommonCrypto
import Foundation
import JavaScriptCore
import Swift
import SwiftUI
import UIKit
import WebKit
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
public struct M2Image {
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
}
public struct M2HTTP {
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getData(url: Foundation.URL) async -> Foundation.Data?
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
}
public let m2Version: Swift.String
public func setServiceType(_ type: Swift.String)
public func setLogLevel(_ value: Swift.Int)
public struct M2Backup {
public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
}
public struct M2API {
}
extension M2Kit.M2API {
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
}
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)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency 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
public typealias Coordinator = Swift.Void
public typealias UIViewControllerType = M2Kit.M2WebVC
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@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
}
extension M2Kit.M2Utils {
public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String
}
@_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String {
get
}
public static var option11: Swift.String {
get
}
public static var option12: Swift.String {
get
}
public static var option13: Swift.String {
get
}
public static var option14: Swift.String {
get
}
public static var option15: Swift.String {
get
}
public static var option16: Swift.String {
get
}
public static var option17: Swift.String {
get
}
public static var option18: Swift.String {
get
}
public static var option19: Swift.String {
get
}
public static var option20: Swift.String {
get
}
public static var option21: Swift.String {
get
}
public static var option22: Swift.String {
get
}
public static var option23: Swift.String {
get
}
public static var option24: Swift.String {
get
}
public static var option25: Swift.String {
get
}
public static var option26: Swift.String {
get
}
public static var option27: Swift.String {
get
}
public static var option28: Swift.String {
get
}
public static var option29: Swift.String {
get
}
public static var option30: Swift.String {
get
}
public static var option31: Swift.String {
get
}
public static var option32: Swift.String {
get
}
public static var option33: Swift.String {
get
}
public static var option34: Swift.String {
get
}
public static var option35: Swift.String {
get
}
public static var option36: Swift.String {
get
}
public static var option37: Swift.String {
get
}
public static var option38: Swift.String {
get
}
public static var option39: Swift.String {
get
}
public static var option40: Swift.String {
get
}
public static var option41: Swift.String {
get
}
public static var option42: Swift.String {
get
}
public static var option43: Swift.String {
get
}
public static var option44: Swift.String {
get
}
public static var option45: Swift.String {
get
}
public static var option46: Swift.String {
get
}
public static var option47: Swift.String {
get
}
public static var option48: Swift.String {
get
}
public static var option49: Swift.String {
get
}
public static var option50: Swift.String {
get
}
public static var option51: Swift.String {
get
}
public static var option52: Swift.String {
get
}
public static var option53: Swift.String {
get
}
public static var option54: Swift.String {
get
}
public static var option55: Swift.String {
get
}
public static var option56: Swift.String {
get
}
public static var option57: Swift.String {
get
}
public static var option58: Swift.String {
get
}
public static var option59: Swift.String {
get
}
public static var option60: Swift.String {
get
}
public static var option61: Swift.String {
get
}
public static var option62: Swift.String {
get
}
public static var option63: Swift.String {
get
}
public static var option64: Swift.String {
get
}
public static var option65: Swift.String {
get
}
public static var option66: Swift.String {
get
}
public static var option67: Swift.String {
get
}
public static var option68: Swift.String {
get
}
public static var option69: Swift.String {
get
}
public static var option70: Swift.String {
get
}
public static var option71: Swift.String {
get
}
public static var option72: Swift.String {
get
}
public static var option73: Swift.String {
get
}
public static var option74: Swift.String {
get
}
public static var option75: Swift.String {
get
}
public static var option76: Swift.String {
get
}
public static var option77: Swift.String {
get
}
public static var option78: Swift.String {
get
}
public static var option79: Swift.String {
get
}
public static var option80: Swift.String {
get
}
public static var option81: Swift.String {
get
}
public static var option82: Swift.String {
get
}
public static var option83: Swift.String {
get
}
public static var option84: Swift.String {
get
}
public static var option85: Swift.String {
get
}
public static var option86: Swift.String {
get
}
public static var option87: Swift.String {
get
}
public static var option88: Swift.String {
get
}
public static var option89: Swift.String {
get
}
public static var option90: Swift.String {
get
}
public static var option91: Swift.String {
get
}
public static var option92: Swift.String {
get
}
public static var option93: Swift.String {
get
}
public static var option94: Swift.String {
get
}
public static var option95: Swift.String {
get
}
public static var option96: Swift.String {
get
}
public static var option97: Swift.String {
get
}
public static var option98: Swift.String {
get
}
public static var option99: Swift.String {
get
}
@objc deinit
}
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
}
extension M2Kit.M2Radio {
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
}
public struct M2Musi {
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
extension M2Kit.M2WebView : Swift.Sendable {}

View File

@ -0,0 +1,426 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.1.2 effective-5.10 (swiftlang-6.1.2.1.2 clang-1700.0.13.5)
// 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 -interface-compiler-version 6.1.2
import Combine
import CommonCrypto
import Foundation
import JavaScriptCore
import Swift
import SwiftUI
import UIKit
import WebKit
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
public struct M2Image {
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
}
public struct M2HTTP {
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getData(url: Foundation.URL) async -> Foundation.Data?
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
}
public let m2Version: Swift.String
public func setServiceType(_ type: Swift.String)
public func setLogLevel(_ value: Swift.Int)
public struct M2Backup {
public static var backupCode: Swift.String {
get
}
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
}
public struct M2API {
}
extension M2Kit.M2API {
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
}
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)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency 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
public typealias Coordinator = Swift.Void
public typealias UIViewControllerType = M2Kit.M2WebVC
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@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
}
extension M2Kit.M2Utils {
public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String
}
@_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String {
get
}
public static var option11: Swift.String {
get
}
public static var option12: Swift.String {
get
}
public static var option13: Swift.String {
get
}
public static var option14: Swift.String {
get
}
public static var option15: Swift.String {
get
}
public static var option16: Swift.String {
get
}
public static var option17: Swift.String {
get
}
public static var option18: Swift.String {
get
}
public static var option19: Swift.String {
get
}
public static var option20: Swift.String {
get
}
public static var option21: Swift.String {
get
}
public static var option22: Swift.String {
get
}
public static var option23: Swift.String {
get
}
public static var option24: Swift.String {
get
}
public static var option25: Swift.String {
get
}
public static var option26: Swift.String {
get
}
public static var option27: Swift.String {
get
}
public static var option28: Swift.String {
get
}
public static var option29: Swift.String {
get
}
public static var option30: Swift.String {
get
}
public static var option31: Swift.String {
get
}
public static var option32: Swift.String {
get
}
public static var option33: Swift.String {
get
}
public static var option34: Swift.String {
get
}
public static var option35: Swift.String {
get
}
public static var option36: Swift.String {
get
}
public static var option37: Swift.String {
get
}
public static var option38: Swift.String {
get
}
public static var option39: Swift.String {
get
}
public static var option40: Swift.String {
get
}
public static var option41: Swift.String {
get
}
public static var option42: Swift.String {
get
}
public static var option43: Swift.String {
get
}
public static var option44: Swift.String {
get
}
public static var option45: Swift.String {
get
}
public static var option46: Swift.String {
get
}
public static var option47: Swift.String {
get
}
public static var option48: Swift.String {
get
}
public static var option49: Swift.String {
get
}
public static var option50: Swift.String {
get
}
public static var option51: Swift.String {
get
}
public static var option52: Swift.String {
get
}
public static var option53: Swift.String {
get
}
public static var option54: Swift.String {
get
}
public static var option55: Swift.String {
get
}
public static var option56: Swift.String {
get
}
public static var option57: Swift.String {
get
}
public static var option58: Swift.String {
get
}
public static var option59: Swift.String {
get
}
public static var option60: Swift.String {
get
}
public static var option61: Swift.String {
get
}
public static var option62: Swift.String {
get
}
public static var option63: Swift.String {
get
}
public static var option64: Swift.String {
get
}
public static var option65: Swift.String {
get
}
public static var option66: Swift.String {
get
}
public static var option67: Swift.String {
get
}
public static var option68: Swift.String {
get
}
public static var option69: Swift.String {
get
}
public static var option70: Swift.String {
get
}
public static var option71: Swift.String {
get
}
public static var option72: Swift.String {
get
}
public static var option73: Swift.String {
get
}
public static var option74: Swift.String {
get
}
public static var option75: Swift.String {
get
}
public static var option76: Swift.String {
get
}
public static var option77: Swift.String {
get
}
public static var option78: Swift.String {
get
}
public static var option79: Swift.String {
get
}
public static var option80: Swift.String {
get
}
public static var option81: Swift.String {
get
}
public static var option82: Swift.String {
get
}
public static var option83: Swift.String {
get
}
public static var option84: Swift.String {
get
}
public static var option85: Swift.String {
get
}
public static var option86: Swift.String {
get
}
public static var option87: Swift.String {
get
}
public static var option88: Swift.String {
get
}
public static var option89: Swift.String {
get
}
public static var option90: Swift.String {
get
}
public static var option91: Swift.String {
get
}
public static var option92: Swift.String {
get
}
public static var option93: Swift.String {
get
}
public static var option94: Swift.String {
get
}
public static var option95: Swift.String {
get
}
public static var option96: Swift.String {
get
}
public static var option97: Swift.String {
get
}
public static var option98: Swift.String {
get
}
public static var option99: Swift.String {
get
}
@objc deinit
}
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
}
extension M2Kit.M2Radio {
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
}
public struct M2Musi {
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
extension M2Kit.M2WebView : Swift.Sendable {}

View File

@ -0,0 +1,4 @@
framework module M2Kit {
header "M2Kit-Swift.h"
requires objc
}