11 Commits

Author SHA1 Message Date
7175167bc2 5.11 2025-12-23 15:38:44 +07:00
6629cdff9a 5.10 2025-12-05 10:34:32 +07:00
262eb45dee 5.9 2025-11-26 15:39:23 +07:00
f500a4d471 5.8 2025-11-14 17:54:56 +07:00
8a825c7e97 5.7 2025-10-22 22:57:14 +07:00
2370cffc13 5.6 2025-10-02 20:17:03 +07:00
5902e1f31d 5.5 2025-09-25 05:54:46 +07:00
db4d9b0d71 5.4 2025-09-04 14:29:32 +07:00
890670b88b 5.3 2025-09-04 14:16:50 +07:00
1c1ee38e1d 5.2 2025-08-22 11:18:11 +07:00
ce884a0f84 5.1 2025-08-03 07:01:36 +07:00
34 changed files with 79801 additions and 24934 deletions

View File

@ -8,15 +8,18 @@
<key>BinaryPath</key> <key>BinaryPath</key>
<string>M2Kit.framework/M2Kit</string> <string>M2Kit.framework/M2Kit</string>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64</string> <string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>M2Kit.framework</string> <string>M2Kit.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>x86_64</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
<dict> <dict>
<key>BinaryPath</key> <key>BinaryPath</key>
@ -39,18 +42,15 @@
<key>BinaryPath</key> <key>BinaryPath</key>
<string>M2Kit.framework/M2Kit</string> <string>M2Kit.framework/M2Kit</string>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string> <string>ios-arm64</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>M2Kit.framework</string> <string>M2Kit.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>x86_64</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
</array> </array>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>

View File

@ -1,6 +1,6 @@
#if 0 #if 0
#elif defined(__arm64__) && __arm64__ #elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 6.1.2 effective-5.10 (swiftlang-6.1.2.1.2 clang-1700.0.13.5) // 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 #ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H #define M2KIT_SWIFT_H
#pragma clang diagnostic push #pragma clang diagnostic push

View File

@ -1,11 +1,13 @@
// swift-interface-format-version: 1.0 // 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-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-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: -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 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
import JavaScriptCore import JavaScriptCore
import Network
import StoreKit
import Swift import Swift
import SwiftUI import SwiftUI
import UIKit import UIKit
@ -13,61 +15,425 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2Image { public enum SwiftyJSONError : Swift.Int, Swift.Error {
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) case unsupportedType
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? case indexOutOfBounds
} case elementTooDeep
public struct M2HTTP { case wrongType
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) case notExist
public static func getData(url: Foundation.URL) async -> Foundation.Data? case invalidJSON
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) #if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? public init?(rawValue: Swift.Int)
} #endif
public let m2Version: Swift.String public typealias RawValue = Swift.Int
public func setServiceType(_ type: Swift.String) public var rawValue: Swift.Int {
public func setLogLevel(_ value: Swift.Int)
public struct M2Backup {
public static var backupCode: Swift.String {
get 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 { extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) public static var errorDomain: Swift.String {
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) get
@_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 { public var errorCode: Swift.Int {
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] get
@_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 { public var errorUserInfo: [Swift.String : Any] {
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] get
@_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 { public enum Type : Swift.Int {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) case number
case string
case bool
case array
case dictionary
case null
case unknown
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
public struct JSON {
public init(data: Foundation.Data, options opt: Foundation.JSONSerialization.ReadingOptions = []) throws
public init(_ object: Any)
public init(parseJSON jsonString: Swift.String)
public mutating func merge(with other: M2Kit.JSON) throws
public func merged(with other: M2Kit.JSON) throws -> M2Kit.JSON
public var type: M2Kit.`Type` {
get
}
public var error: M2Kit.SwiftyJSONError? {
get
}
public var object: Any {
get
set
}
@available(*, unavailable, renamed: "null")
public static var nullJSON: M2Kit.JSON {
get
}
public static var null: M2Kit.JSON {
get
}
}
public enum Index<T> : Swift.Comparable {
case array(Swift.Int)
case dictionary(Swift.DictionaryIndex<Swift.String, T>)
case null
public static func == (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
public static func < (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
}
public typealias JSONIndex = M2Kit.Index<M2Kit.JSON>
public typealias JSONRawIndex = M2Kit.Index<Any>
extension M2Kit.JSON : Swift.Collection {
public typealias Index = M2Kit.JSONRawIndex
public var startIndex: M2Kit.JSON.Index {
get
}
public var endIndex: M2Kit.JSON.Index {
get
}
public func index(after i: M2Kit.JSON.Index) -> M2Kit.JSON.Index
public subscript(position: M2Kit.JSON.Index) -> (Swift.String, M2Kit.JSON) {
get
}
public typealias Element = (Swift.String, M2Kit.JSON)
public typealias Indices = Swift.DefaultIndices<M2Kit.JSON>
public typealias Iterator = Swift.IndexingIterator<M2Kit.JSON>
public typealias SubSequence = Swift.Slice<M2Kit.JSON>
}
public enum JSONKey {
case index(Swift.Int)
case key(Swift.String)
}
public protocol JSONSubscriptType {
var jsonKey: M2Kit.JSONKey { get }
}
extension Swift.Int : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension Swift.String : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension M2Kit.JSON {
public subscript(path: [any M2Kit.JSONSubscriptType]) -> M2Kit.JSON {
get
set
}
public subscript(path: any M2Kit.JSONSubscriptType...) -> M2Kit.JSON {
get
set
}
}
extension M2Kit.JSON : Swift.ExpressibleByStringLiteral {
public init(stringLiteral value: Swift.StringLiteralType)
public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType)
public init(unicodeScalarLiteral value: Swift.StringLiteralType)
public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType
public typealias StringLiteralType = Swift.StringLiteralType
public typealias UnicodeScalarLiteralType = Swift.StringLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByIntegerLiteral {
public init(integerLiteral value: Swift.IntegerLiteralType)
public typealias IntegerLiteralType = Swift.IntegerLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByBooleanLiteral {
public init(booleanLiteral value: Swift.BooleanLiteralType)
public typealias BooleanLiteralType = Swift.BooleanLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByFloatLiteral {
public init(floatLiteral value: Swift.FloatLiteralType)
public typealias FloatLiteralType = Swift.FloatLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByDictionaryLiteral {
public init(dictionaryLiteral elements: (Swift.String, Any)...)
public typealias Key = Swift.String
public typealias Value = Any
}
extension M2Kit.JSON : Swift.ExpressibleByArrayLiteral {
public init(arrayLiteral elements: Any...)
public typealias ArrayLiteralElement = Any
}
extension M2Kit.JSON : Swift.RawRepresentable {
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Any)
#endif
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
#endif
public typealias RawValue = Any
}
extension M2Kit.JSON : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible {
public var description: Swift.String {
get
}
public var debugDescription: Swift.String {
get
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var array: [M2Kit.JSON]? {
get
}
#endif
public var arrayValue: [M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var arrayObject: [Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
#endif
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var bool: Swift.Bool? {
get
set
}
#endif
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var string: Swift.String? {
get
set
}
#endif
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var number: Foundation.NSNumber? {
get
set
}
#endif
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var null: Foundation.NSNull? {
get
set
}
#endif
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var url: Foundation.URL? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var double: Swift.Double? {
get
set
}
#endif
public var doubleValue: Swift.Double {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var float: Swift.Float? {
get
set
}
#endif
public var floatValue: Swift.Float {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int: Swift.Int? {
get
set
}
#endif
public var intValue: Swift.Int {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt: Swift.UInt? {
get
set
}
#endif
public var uIntValue: Swift.UInt {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int8: Swift.Int8? {
get
set
}
#endif
public var int8Value: Swift.Int8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt8: Swift.UInt8? {
get
set
}
#endif
public var uInt8Value: Swift.UInt8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int16: Swift.Int16? {
get
set
}
#endif
public var int16Value: Swift.Int16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt16: Swift.UInt16? {
get
set
}
#endif
public var uInt16Value: Swift.UInt16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int32: Swift.Int32? {
get
set
}
#endif
public var int32Value: Swift.Int32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt32: Swift.UInt32? {
get
set
}
#endif
public var uInt32Value: Swift.UInt32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int64: Swift.Int64? {
get
set
}
#endif
public var int64Value: Swift.Int64 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt64: Swift.UInt64? {
get
set
}
#endif
public var uInt64Value: Swift.UInt64 {
get
set
}
}
extension M2Kit.JSON : Swift.Comparable {
}
public func == (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func <= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func >= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func > (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func < (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public enum writingOptionsKeys {
case jsonSerialization
case castNilToNSNull
case maxObjextDepth
case encoding
public static func == (a: M2Kit.writingOptionsKeys, b: M2Kit.writingOptionsKeys) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
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 { public struct M2API {
} }
extension M2Kit.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) 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) 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) 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) 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) 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) public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -82,40 +448,189 @@ extension M2Kit.M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) 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) public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { 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) public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { extension M2Kit.M2API {
@_Concurrency.MainActor @preconcurrency public init() #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) #endif
public typealias Body = Swift.Never #if compiler(>=5.3) && $NonescapableTypes
public typealias Coordinator = Swift.Void @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
public typealias UIViewControllerType = M2Kit.M2WebVC #endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_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?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2API {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@objc deinit @_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
} }
public struct M2Utils { extension M2Kit.M2API {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
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 { extension M2Kit.M2API {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
}
public struct M2Backup {
public static var backupCode: Swift.String {
get
}
#if compiler(>=5.3) && $NonescapableTypes
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 getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: 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)
#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)
#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)
}
public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
}
public struct M2Image {
#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
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> 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 {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
case wifi
case cellular
case other
case none
public static func == (a: M2Kit.M2NetConnecttionType, b: M2Kit.M2NetConnecttionType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get get
} }
} }
extension M2Kit.M2Utils { public struct M2NetMonitor {
public static func randomCode() -> Swift.String public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
}
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 {
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -390,37 +905,69 @@ extension M2Kit.M2Utils {
} }
@objc deinit @objc deinit
} }
public struct M2Radio { 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.M2Radio { extension M2Kit.M2Utils {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) public static var countryCode: Swift.String {
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] get
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 { extension M2Kit.M2Utils {
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) public static func randomCode() -> Swift.String
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 { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @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)
#endif
@objc deinit
} }
public struct M2Musi { @_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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
} }
public struct M2K { public enum M2YTIDType : Swift.String {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) case video
case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
} }
}
public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}

View File

@ -1,11 +1,13 @@
// swift-interface-format-version: 1.0 // 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-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-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: -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 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
import JavaScriptCore import JavaScriptCore
import Network
import StoreKit
import Swift import Swift
import SwiftUI import SwiftUI
import UIKit import UIKit
@ -13,61 +15,425 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2Image { public enum SwiftyJSONError : Swift.Int, Swift.Error {
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) case unsupportedType
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? case indexOutOfBounds
} case elementTooDeep
public struct M2HTTP { case wrongType
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) case notExist
public static func getData(url: Foundation.URL) async -> Foundation.Data? case invalidJSON
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) #if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? public init?(rawValue: Swift.Int)
} #endif
public let m2Version: Swift.String public typealias RawValue = Swift.Int
public func setServiceType(_ type: Swift.String) public var rawValue: Swift.Int {
public func setLogLevel(_ value: Swift.Int)
public struct M2Backup {
public static var backupCode: Swift.String {
get 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 { extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) public static var errorDomain: Swift.String {
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) get
@_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 { public var errorCode: Swift.Int {
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] get
@_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 { public var errorUserInfo: [Swift.String : Any] {
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] get
@_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 { public enum Type : Swift.Int {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) case number
case string
case bool
case array
case dictionary
case null
case unknown
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
public struct JSON {
public init(data: Foundation.Data, options opt: Foundation.JSONSerialization.ReadingOptions = []) throws
public init(_ object: Any)
public init(parseJSON jsonString: Swift.String)
public mutating func merge(with other: M2Kit.JSON) throws
public func merged(with other: M2Kit.JSON) throws -> M2Kit.JSON
public var type: M2Kit.`Type` {
get
}
public var error: M2Kit.SwiftyJSONError? {
get
}
public var object: Any {
get
set
}
@available(*, unavailable, renamed: "null")
public static var nullJSON: M2Kit.JSON {
get
}
public static var null: M2Kit.JSON {
get
}
}
public enum Index<T> : Swift.Comparable {
case array(Swift.Int)
case dictionary(Swift.DictionaryIndex<Swift.String, T>)
case null
public static func == (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
public static func < (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
}
public typealias JSONIndex = M2Kit.Index<M2Kit.JSON>
public typealias JSONRawIndex = M2Kit.Index<Any>
extension M2Kit.JSON : Swift.Collection {
public typealias Index = M2Kit.JSONRawIndex
public var startIndex: M2Kit.JSON.Index {
get
}
public var endIndex: M2Kit.JSON.Index {
get
}
public func index(after i: M2Kit.JSON.Index) -> M2Kit.JSON.Index
public subscript(position: M2Kit.JSON.Index) -> (Swift.String, M2Kit.JSON) {
get
}
public typealias Element = (Swift.String, M2Kit.JSON)
public typealias Indices = Swift.DefaultIndices<M2Kit.JSON>
public typealias Iterator = Swift.IndexingIterator<M2Kit.JSON>
public typealias SubSequence = Swift.Slice<M2Kit.JSON>
}
public enum JSONKey {
case index(Swift.Int)
case key(Swift.String)
}
public protocol JSONSubscriptType {
var jsonKey: M2Kit.JSONKey { get }
}
extension Swift.Int : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension Swift.String : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension M2Kit.JSON {
public subscript(path: [any M2Kit.JSONSubscriptType]) -> M2Kit.JSON {
get
set
}
public subscript(path: any M2Kit.JSONSubscriptType...) -> M2Kit.JSON {
get
set
}
}
extension M2Kit.JSON : Swift.ExpressibleByStringLiteral {
public init(stringLiteral value: Swift.StringLiteralType)
public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType)
public init(unicodeScalarLiteral value: Swift.StringLiteralType)
public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType
public typealias StringLiteralType = Swift.StringLiteralType
public typealias UnicodeScalarLiteralType = Swift.StringLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByIntegerLiteral {
public init(integerLiteral value: Swift.IntegerLiteralType)
public typealias IntegerLiteralType = Swift.IntegerLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByBooleanLiteral {
public init(booleanLiteral value: Swift.BooleanLiteralType)
public typealias BooleanLiteralType = Swift.BooleanLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByFloatLiteral {
public init(floatLiteral value: Swift.FloatLiteralType)
public typealias FloatLiteralType = Swift.FloatLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByDictionaryLiteral {
public init(dictionaryLiteral elements: (Swift.String, Any)...)
public typealias Key = Swift.String
public typealias Value = Any
}
extension M2Kit.JSON : Swift.ExpressibleByArrayLiteral {
public init(arrayLiteral elements: Any...)
public typealias ArrayLiteralElement = Any
}
extension M2Kit.JSON : Swift.RawRepresentable {
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Any)
#endif
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
#endif
public typealias RawValue = Any
}
extension M2Kit.JSON : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible {
public var description: Swift.String {
get
}
public var debugDescription: Swift.String {
get
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var array: [M2Kit.JSON]? {
get
}
#endif
public var arrayValue: [M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var arrayObject: [Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
#endif
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var bool: Swift.Bool? {
get
set
}
#endif
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var string: Swift.String? {
get
set
}
#endif
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var number: Foundation.NSNumber? {
get
set
}
#endif
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var null: Foundation.NSNull? {
get
set
}
#endif
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var url: Foundation.URL? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var double: Swift.Double? {
get
set
}
#endif
public var doubleValue: Swift.Double {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var float: Swift.Float? {
get
set
}
#endif
public var floatValue: Swift.Float {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int: Swift.Int? {
get
set
}
#endif
public var intValue: Swift.Int {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt: Swift.UInt? {
get
set
}
#endif
public var uIntValue: Swift.UInt {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int8: Swift.Int8? {
get
set
}
#endif
public var int8Value: Swift.Int8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt8: Swift.UInt8? {
get
set
}
#endif
public var uInt8Value: Swift.UInt8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int16: Swift.Int16? {
get
set
}
#endif
public var int16Value: Swift.Int16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt16: Swift.UInt16? {
get
set
}
#endif
public var uInt16Value: Swift.UInt16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int32: Swift.Int32? {
get
set
}
#endif
public var int32Value: Swift.Int32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt32: Swift.UInt32? {
get
set
}
#endif
public var uInt32Value: Swift.UInt32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int64: Swift.Int64? {
get
set
}
#endif
public var int64Value: Swift.Int64 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt64: Swift.UInt64? {
get
set
}
#endif
public var uInt64Value: Swift.UInt64 {
get
set
}
}
extension M2Kit.JSON : Swift.Comparable {
}
public func == (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func <= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func >= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func > (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func < (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public enum writingOptionsKeys {
case jsonSerialization
case castNilToNSNull
case maxObjextDepth
case encoding
public static func == (a: M2Kit.writingOptionsKeys, b: M2Kit.writingOptionsKeys) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
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 { public struct M2API {
} }
extension M2Kit.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) 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) 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) 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) 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) 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) public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -82,40 +448,189 @@ extension M2Kit.M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) 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) public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { 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) public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { extension M2Kit.M2API {
@_Concurrency.MainActor @preconcurrency public init() #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) #endif
public typealias Body = Swift.Never #if compiler(>=5.3) && $NonescapableTypes
public typealias Coordinator = Swift.Void @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
public typealias UIViewControllerType = M2Kit.M2WebVC #endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_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?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2API {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@objc deinit @_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
} }
public struct M2Utils { extension M2Kit.M2API {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
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 { extension M2Kit.M2API {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
}
public struct M2Backup {
public static var backupCode: Swift.String {
get
}
#if compiler(>=5.3) && $NonescapableTypes
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 getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: 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)
#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)
#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)
}
public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
}
public struct M2Image {
#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
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> 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 {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
case wifi
case cellular
case other
case none
public static func == (a: M2Kit.M2NetConnecttionType, b: M2Kit.M2NetConnecttionType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get get
} }
} }
extension M2Kit.M2Utils { public struct M2NetMonitor {
public static func randomCode() -> Swift.String public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
}
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 {
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -390,37 +905,69 @@ extension M2Kit.M2Utils {
} }
@objc deinit @objc deinit
} }
public struct M2Radio { 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.M2Radio { extension M2Kit.M2Utils {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) public static var countryCode: Swift.String {
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] get
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 { extension M2Kit.M2Utils {
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) public static func randomCode() -> Swift.String
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 { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @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)
#endif
@objc deinit
} }
public struct M2Musi { @_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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
} }
public struct M2K { public enum M2YTIDType : Swift.String {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) case video
case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
} }
}
public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}

View File

@ -1,6 +1,6 @@
#if 0 #if 0
#elif defined(__arm64__) && __arm64__ #elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 6.1.2 effective-5.10 (swiftlang-6.1.2.1.2 clang-1700.0.13.5) // 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 #ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H #define M2KIT_SWIFT_H
#pragma clang diagnostic push #pragma clang diagnostic push
@ -324,7 +324,7 @@ SWIFT_CLASS("_TtC5M2Kit7M2WebVC")
#endif #endif
#elif defined(__x86_64__) && __x86_64__ #elif defined(__x86_64__) && __x86_64__
// Generated by Apple Swift version 6.1.2 effective-5.10 (swiftlang-6.1.2.1.2 clang-1700.0.13.5) // 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 #ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H #define M2KIT_SWIFT_H
#pragma clang diagnostic push #pragma clang diagnostic push

View File

@ -1,11 +1,13 @@
// swift-interface-format-version: 1.0 // 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-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-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: -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 -interface-compiler-version 6.1.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
import JavaScriptCore import JavaScriptCore
import Network
import StoreKit
import Swift import Swift
import SwiftUI import SwiftUI
import UIKit import UIKit
@ -13,40 +15,425 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
extension M2Kit.M2API { public enum SwiftyJSONError : Swift.Int, Swift.Error {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case unsupportedType
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case indexOutOfBounds
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case elementTooDeep
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case wrongType
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case notExist
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]] case invalidJSON
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
} }
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 { extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] public static var errorDomain: Swift.String {
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] get
} }
extension M2Kit.M2API { public var errorCode: Swift.Int {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] get
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { public var errorUserInfo: [Swift.String : Any] {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) get
}
}
public enum Type : Swift.Int {
case number
case string
case bool
case array
case dictionary
case null
case unknown
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
public struct JSON {
public init(data: Foundation.Data, options opt: Foundation.JSONSerialization.ReadingOptions = []) throws
public init(_ object: Any)
public init(parseJSON jsonString: Swift.String)
public mutating func merge(with other: M2Kit.JSON) throws
public func merged(with other: M2Kit.JSON) throws -> M2Kit.JSON
public var type: M2Kit.`Type` {
get
}
public var error: M2Kit.SwiftyJSONError? {
get
}
public var object: Any {
get
set
}
@available(*, unavailable, renamed: "null")
public static var nullJSON: M2Kit.JSON {
get
}
public static var null: M2Kit.JSON {
get
}
}
public enum Index<T> : Swift.Comparable {
case array(Swift.Int)
case dictionary(Swift.DictionaryIndex<Swift.String, T>)
case null
public static func == (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
public static func < (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
}
public typealias JSONIndex = M2Kit.Index<M2Kit.JSON>
public typealias JSONRawIndex = M2Kit.Index<Any>
extension M2Kit.JSON : Swift.Collection {
public typealias Index = M2Kit.JSONRawIndex
public var startIndex: M2Kit.JSON.Index {
get
}
public var endIndex: M2Kit.JSON.Index {
get
}
public func index(after i: M2Kit.JSON.Index) -> M2Kit.JSON.Index
public subscript(position: M2Kit.JSON.Index) -> (Swift.String, M2Kit.JSON) {
get
}
public typealias Element = (Swift.String, M2Kit.JSON)
public typealias Indices = Swift.DefaultIndices<M2Kit.JSON>
public typealias Iterator = Swift.IndexingIterator<M2Kit.JSON>
public typealias SubSequence = Swift.Slice<M2Kit.JSON>
}
public enum JSONKey {
case index(Swift.Int)
case key(Swift.String)
}
public protocol JSONSubscriptType {
var jsonKey: M2Kit.JSONKey { get }
}
extension Swift.Int : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension Swift.String : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension M2Kit.JSON {
public subscript(path: [any M2Kit.JSONSubscriptType]) -> M2Kit.JSON {
get
set
}
public subscript(path: any M2Kit.JSONSubscriptType...) -> M2Kit.JSON {
get
set
}
}
extension M2Kit.JSON : Swift.ExpressibleByStringLiteral {
public init(stringLiteral value: Swift.StringLiteralType)
public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType)
public init(unicodeScalarLiteral value: Swift.StringLiteralType)
public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType
public typealias StringLiteralType = Swift.StringLiteralType
public typealias UnicodeScalarLiteralType = Swift.StringLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByIntegerLiteral {
public init(integerLiteral value: Swift.IntegerLiteralType)
public typealias IntegerLiteralType = Swift.IntegerLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByBooleanLiteral {
public init(booleanLiteral value: Swift.BooleanLiteralType)
public typealias BooleanLiteralType = Swift.BooleanLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByFloatLiteral {
public init(floatLiteral value: Swift.FloatLiteralType)
public typealias FloatLiteralType = Swift.FloatLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByDictionaryLiteral {
public init(dictionaryLiteral elements: (Swift.String, Any)...)
public typealias Key = Swift.String
public typealias Value = Any
}
extension M2Kit.JSON : Swift.ExpressibleByArrayLiteral {
public init(arrayLiteral elements: Any...)
public typealias ArrayLiteralElement = Any
}
extension M2Kit.JSON : Swift.RawRepresentable {
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Any)
#endif
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
#endif
public typealias RawValue = Any
}
extension M2Kit.JSON : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible {
public var description: Swift.String {
get
}
public var debugDescription: Swift.String {
get
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var array: [M2Kit.JSON]? {
get
}
#endif
public var arrayValue: [M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var arrayObject: [Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
#endif
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var bool: Swift.Bool? {
get
set
}
#endif
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var string: Swift.String? {
get
set
}
#endif
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var number: Foundation.NSNumber? {
get
set
}
#endif
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var null: Foundation.NSNull? {
get
set
}
#endif
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var url: Foundation.URL? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var double: Swift.Double? {
get
set
}
#endif
public var doubleValue: Swift.Double {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var float: Swift.Float? {
get
set
}
#endif
public var floatValue: Swift.Float {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int: Swift.Int? {
get
set
}
#endif
public var intValue: Swift.Int {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt: Swift.UInt? {
get
set
}
#endif
public var uIntValue: Swift.UInt {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int8: Swift.Int8? {
get
set
}
#endif
public var int8Value: Swift.Int8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt8: Swift.UInt8? {
get
set
}
#endif
public var uInt8Value: Swift.UInt8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int16: Swift.Int16? {
get
set
}
#endif
public var int16Value: Swift.Int16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt16: Swift.UInt16? {
get
set
}
#endif
public var uInt16Value: Swift.UInt16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int32: Swift.Int32? {
get
set
}
#endif
public var int32Value: Swift.Int32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt32: Swift.UInt32? {
get
set
}
#endif
public var uInt32Value: Swift.UInt32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int64: Swift.Int64? {
get
set
}
#endif
public var int64Value: Swift.Int64 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt64: Swift.UInt64? {
get
set
}
#endif
public var uInt64Value: Swift.UInt64 {
get
set
}
}
extension M2Kit.JSON : Swift.Comparable {
}
public func == (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func <= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func >= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func > (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func < (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public enum writingOptionsKeys {
case jsonSerialization
case castNilToNSNull
case maxObjextDepth
case encoding
public static func == (a: M2Kit.writingOptionsKeys, b: M2Kit.writingOptionsKeys) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
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 { public struct M2API {
} }
extension M2Kit.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) 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) 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) 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) 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) 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) public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -61,40 +448,189 @@ extension M2Kit.M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) 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) public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { 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) public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { extension M2Kit.M2API {
@_Concurrency.MainActor @preconcurrency public init() #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) #endif
public typealias Body = Swift.Never #if compiler(>=5.3) && $NonescapableTypes
public typealias Coordinator = Swift.Void @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
public typealias UIViewControllerType = M2Kit.M2WebVC #endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_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?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2API {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@objc deinit @_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
} }
public struct M2Utils { extension M2Kit.M2API {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
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 { extension M2Kit.M2API {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
}
public struct M2Backup {
public static var backupCode: Swift.String {
get
}
#if compiler(>=5.3) && $NonescapableTypes
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 getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: 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)
#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)
#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)
}
public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
}
public struct M2Image {
#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
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> 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 {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
case wifi
case cellular
case other
case none
public static func == (a: M2Kit.M2NetConnecttionType, b: M2Kit.M2NetConnecttionType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get get
} }
} }
extension M2Kit.M2Utils { public struct M2NetMonitor {
public static func randomCode() -> Swift.String public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
}
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 {
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -369,58 +905,69 @@ extension M2Kit.M2Utils {
} }
@objc deinit @objc deinit
} }
public struct M2Radio { 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.M2Radio { extension M2Kit.M2Utils {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) public static var countryCode: Swift.String {
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)
}
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 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.M2Utils {
public static func randomCode() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @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?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @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 @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
}
public enum M2YTIDType : Swift.String {
case video
case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
}
public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}

View File

@ -1,11 +1,13 @@
// swift-interface-format-version: 1.0 // 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-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-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: -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 -interface-compiler-version 6.1.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
import JavaScriptCore import JavaScriptCore
import Network
import StoreKit
import Swift import Swift
import SwiftUI import SwiftUI
import UIKit import UIKit
@ -13,40 +15,425 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
extension M2Kit.M2API { public enum SwiftyJSONError : Swift.Int, Swift.Error {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case unsupportedType
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case indexOutOfBounds
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case elementTooDeep
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case wrongType
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case notExist
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]] case invalidJSON
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
} }
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 { extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] public static var errorDomain: Swift.String {
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] get
} }
extension M2Kit.M2API { public var errorCode: Swift.Int {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] get
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { public var errorUserInfo: [Swift.String : Any] {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) get
}
}
public enum Type : Swift.Int {
case number
case string
case bool
case array
case dictionary
case null
case unknown
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
public struct JSON {
public init(data: Foundation.Data, options opt: Foundation.JSONSerialization.ReadingOptions = []) throws
public init(_ object: Any)
public init(parseJSON jsonString: Swift.String)
public mutating func merge(with other: M2Kit.JSON) throws
public func merged(with other: M2Kit.JSON) throws -> M2Kit.JSON
public var type: M2Kit.`Type` {
get
}
public var error: M2Kit.SwiftyJSONError? {
get
}
public var object: Any {
get
set
}
@available(*, unavailable, renamed: "null")
public static var nullJSON: M2Kit.JSON {
get
}
public static var null: M2Kit.JSON {
get
}
}
public enum Index<T> : Swift.Comparable {
case array(Swift.Int)
case dictionary(Swift.DictionaryIndex<Swift.String, T>)
case null
public static func == (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
public static func < (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
}
public typealias JSONIndex = M2Kit.Index<M2Kit.JSON>
public typealias JSONRawIndex = M2Kit.Index<Any>
extension M2Kit.JSON : Swift.Collection {
public typealias Index = M2Kit.JSONRawIndex
public var startIndex: M2Kit.JSON.Index {
get
}
public var endIndex: M2Kit.JSON.Index {
get
}
public func index(after i: M2Kit.JSON.Index) -> M2Kit.JSON.Index
public subscript(position: M2Kit.JSON.Index) -> (Swift.String, M2Kit.JSON) {
get
}
public typealias Element = (Swift.String, M2Kit.JSON)
public typealias Indices = Swift.DefaultIndices<M2Kit.JSON>
public typealias Iterator = Swift.IndexingIterator<M2Kit.JSON>
public typealias SubSequence = Swift.Slice<M2Kit.JSON>
}
public enum JSONKey {
case index(Swift.Int)
case key(Swift.String)
}
public protocol JSONSubscriptType {
var jsonKey: M2Kit.JSONKey { get }
}
extension Swift.Int : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension Swift.String : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension M2Kit.JSON {
public subscript(path: [any M2Kit.JSONSubscriptType]) -> M2Kit.JSON {
get
set
}
public subscript(path: any M2Kit.JSONSubscriptType...) -> M2Kit.JSON {
get
set
}
}
extension M2Kit.JSON : Swift.ExpressibleByStringLiteral {
public init(stringLiteral value: Swift.StringLiteralType)
public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType)
public init(unicodeScalarLiteral value: Swift.StringLiteralType)
public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType
public typealias StringLiteralType = Swift.StringLiteralType
public typealias UnicodeScalarLiteralType = Swift.StringLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByIntegerLiteral {
public init(integerLiteral value: Swift.IntegerLiteralType)
public typealias IntegerLiteralType = Swift.IntegerLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByBooleanLiteral {
public init(booleanLiteral value: Swift.BooleanLiteralType)
public typealias BooleanLiteralType = Swift.BooleanLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByFloatLiteral {
public init(floatLiteral value: Swift.FloatLiteralType)
public typealias FloatLiteralType = Swift.FloatLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByDictionaryLiteral {
public init(dictionaryLiteral elements: (Swift.String, Any)...)
public typealias Key = Swift.String
public typealias Value = Any
}
extension M2Kit.JSON : Swift.ExpressibleByArrayLiteral {
public init(arrayLiteral elements: Any...)
public typealias ArrayLiteralElement = Any
}
extension M2Kit.JSON : Swift.RawRepresentable {
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Any)
#endif
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
#endif
public typealias RawValue = Any
}
extension M2Kit.JSON : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible {
public var description: Swift.String {
get
}
public var debugDescription: Swift.String {
get
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var array: [M2Kit.JSON]? {
get
}
#endif
public var arrayValue: [M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var arrayObject: [Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
#endif
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var bool: Swift.Bool? {
get
set
}
#endif
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var string: Swift.String? {
get
set
}
#endif
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var number: Foundation.NSNumber? {
get
set
}
#endif
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var null: Foundation.NSNull? {
get
set
}
#endif
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var url: Foundation.URL? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var double: Swift.Double? {
get
set
}
#endif
public var doubleValue: Swift.Double {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var float: Swift.Float? {
get
set
}
#endif
public var floatValue: Swift.Float {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int: Swift.Int? {
get
set
}
#endif
public var intValue: Swift.Int {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt: Swift.UInt? {
get
set
}
#endif
public var uIntValue: Swift.UInt {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int8: Swift.Int8? {
get
set
}
#endif
public var int8Value: Swift.Int8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt8: Swift.UInt8? {
get
set
}
#endif
public var uInt8Value: Swift.UInt8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int16: Swift.Int16? {
get
set
}
#endif
public var int16Value: Swift.Int16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt16: Swift.UInt16? {
get
set
}
#endif
public var uInt16Value: Swift.UInt16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int32: Swift.Int32? {
get
set
}
#endif
public var int32Value: Swift.Int32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt32: Swift.UInt32? {
get
set
}
#endif
public var uInt32Value: Swift.UInt32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int64: Swift.Int64? {
get
set
}
#endif
public var int64Value: Swift.Int64 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt64: Swift.UInt64? {
get
set
}
#endif
public var uInt64Value: Swift.UInt64 {
get
set
}
}
extension M2Kit.JSON : Swift.Comparable {
}
public func == (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func <= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func >= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func > (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func < (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public enum writingOptionsKeys {
case jsonSerialization
case castNilToNSNull
case maxObjextDepth
case encoding
public static func == (a: M2Kit.writingOptionsKeys, b: M2Kit.writingOptionsKeys) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
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 { public struct M2API {
} }
extension M2Kit.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) 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) 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) 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) 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) 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) public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -61,40 +448,189 @@ extension M2Kit.M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) 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) public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { 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) public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { extension M2Kit.M2API {
@_Concurrency.MainActor @preconcurrency public init() #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) #endif
public typealias Body = Swift.Never #if compiler(>=5.3) && $NonescapableTypes
public typealias Coordinator = Swift.Void @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
public typealias UIViewControllerType = M2Kit.M2WebVC #endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_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?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2API {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@objc deinit @_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
} }
public struct M2Utils { extension M2Kit.M2API {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
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 { extension M2Kit.M2API {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
}
public struct M2Backup {
public static var backupCode: Swift.String {
get
}
#if compiler(>=5.3) && $NonescapableTypes
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 getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: 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)
#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)
#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)
}
public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
}
public struct M2Image {
#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
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> 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 {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
case wifi
case cellular
case other
case none
public static func == (a: M2Kit.M2NetConnecttionType, b: M2Kit.M2NetConnecttionType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get get
} }
} }
extension M2Kit.M2Utils { public struct M2NetMonitor {
public static func randomCode() -> Swift.String public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
}
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 {
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -369,58 +905,69 @@ extension M2Kit.M2Utils {
} }
@objc deinit @objc deinit
} }
public struct M2Radio { 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.M2Radio { extension M2Kit.M2Utils {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) public static var countryCode: Swift.String {
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)
}
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 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.M2Utils {
public static func randomCode() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @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?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @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 @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
}
public enum M2YTIDType : Swift.String {
case video
case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
}
public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}

View File

@ -1,11 +1,13 @@
// swift-interface-format-version: 1.0 // 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-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-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: -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 -interface-compiler-version 6.1.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
import JavaScriptCore import JavaScriptCore
import Network
import StoreKit
import Swift import Swift
import SwiftUI import SwiftUI
import UIKit import UIKit
@ -13,40 +15,425 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
extension M2Kit.M2API { public enum SwiftyJSONError : Swift.Int, Swift.Error {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case unsupportedType
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case indexOutOfBounds
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case elementTooDeep
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case wrongType
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case notExist
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]] case invalidJSON
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
} }
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 { extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] public static var errorDomain: Swift.String {
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] get
} }
extension M2Kit.M2API { public var errorCode: Swift.Int {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] get
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { public var errorUserInfo: [Swift.String : Any] {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) get
}
}
public enum Type : Swift.Int {
case number
case string
case bool
case array
case dictionary
case null
case unknown
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
public struct JSON {
public init(data: Foundation.Data, options opt: Foundation.JSONSerialization.ReadingOptions = []) throws
public init(_ object: Any)
public init(parseJSON jsonString: Swift.String)
public mutating func merge(with other: M2Kit.JSON) throws
public func merged(with other: M2Kit.JSON) throws -> M2Kit.JSON
public var type: M2Kit.`Type` {
get
}
public var error: M2Kit.SwiftyJSONError? {
get
}
public var object: Any {
get
set
}
@available(*, unavailable, renamed: "null")
public static var nullJSON: M2Kit.JSON {
get
}
public static var null: M2Kit.JSON {
get
}
}
public enum Index<T> : Swift.Comparable {
case array(Swift.Int)
case dictionary(Swift.DictionaryIndex<Swift.String, T>)
case null
public static func == (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
public static func < (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
}
public typealias JSONIndex = M2Kit.Index<M2Kit.JSON>
public typealias JSONRawIndex = M2Kit.Index<Any>
extension M2Kit.JSON : Swift.Collection {
public typealias Index = M2Kit.JSONRawIndex
public var startIndex: M2Kit.JSON.Index {
get
}
public var endIndex: M2Kit.JSON.Index {
get
}
public func index(after i: M2Kit.JSON.Index) -> M2Kit.JSON.Index
public subscript(position: M2Kit.JSON.Index) -> (Swift.String, M2Kit.JSON) {
get
}
public typealias Element = (Swift.String, M2Kit.JSON)
public typealias Indices = Swift.DefaultIndices<M2Kit.JSON>
public typealias Iterator = Swift.IndexingIterator<M2Kit.JSON>
public typealias SubSequence = Swift.Slice<M2Kit.JSON>
}
public enum JSONKey {
case index(Swift.Int)
case key(Swift.String)
}
public protocol JSONSubscriptType {
var jsonKey: M2Kit.JSONKey { get }
}
extension Swift.Int : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension Swift.String : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension M2Kit.JSON {
public subscript(path: [any M2Kit.JSONSubscriptType]) -> M2Kit.JSON {
get
set
}
public subscript(path: any M2Kit.JSONSubscriptType...) -> M2Kit.JSON {
get
set
}
}
extension M2Kit.JSON : Swift.ExpressibleByStringLiteral {
public init(stringLiteral value: Swift.StringLiteralType)
public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType)
public init(unicodeScalarLiteral value: Swift.StringLiteralType)
public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType
public typealias StringLiteralType = Swift.StringLiteralType
public typealias UnicodeScalarLiteralType = Swift.StringLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByIntegerLiteral {
public init(integerLiteral value: Swift.IntegerLiteralType)
public typealias IntegerLiteralType = Swift.IntegerLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByBooleanLiteral {
public init(booleanLiteral value: Swift.BooleanLiteralType)
public typealias BooleanLiteralType = Swift.BooleanLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByFloatLiteral {
public init(floatLiteral value: Swift.FloatLiteralType)
public typealias FloatLiteralType = Swift.FloatLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByDictionaryLiteral {
public init(dictionaryLiteral elements: (Swift.String, Any)...)
public typealias Key = Swift.String
public typealias Value = Any
}
extension M2Kit.JSON : Swift.ExpressibleByArrayLiteral {
public init(arrayLiteral elements: Any...)
public typealias ArrayLiteralElement = Any
}
extension M2Kit.JSON : Swift.RawRepresentable {
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Any)
#endif
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
#endif
public typealias RawValue = Any
}
extension M2Kit.JSON : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible {
public var description: Swift.String {
get
}
public var debugDescription: Swift.String {
get
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var array: [M2Kit.JSON]? {
get
}
#endif
public var arrayValue: [M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var arrayObject: [Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
#endif
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var bool: Swift.Bool? {
get
set
}
#endif
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var string: Swift.String? {
get
set
}
#endif
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var number: Foundation.NSNumber? {
get
set
}
#endif
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var null: Foundation.NSNull? {
get
set
}
#endif
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var url: Foundation.URL? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var double: Swift.Double? {
get
set
}
#endif
public var doubleValue: Swift.Double {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var float: Swift.Float? {
get
set
}
#endif
public var floatValue: Swift.Float {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int: Swift.Int? {
get
set
}
#endif
public var intValue: Swift.Int {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt: Swift.UInt? {
get
set
}
#endif
public var uIntValue: Swift.UInt {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int8: Swift.Int8? {
get
set
}
#endif
public var int8Value: Swift.Int8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt8: Swift.UInt8? {
get
set
}
#endif
public var uInt8Value: Swift.UInt8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int16: Swift.Int16? {
get
set
}
#endif
public var int16Value: Swift.Int16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt16: Swift.UInt16? {
get
set
}
#endif
public var uInt16Value: Swift.UInt16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int32: Swift.Int32? {
get
set
}
#endif
public var int32Value: Swift.Int32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt32: Swift.UInt32? {
get
set
}
#endif
public var uInt32Value: Swift.UInt32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int64: Swift.Int64? {
get
set
}
#endif
public var int64Value: Swift.Int64 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt64: Swift.UInt64? {
get
set
}
#endif
public var uInt64Value: Swift.UInt64 {
get
set
}
}
extension M2Kit.JSON : Swift.Comparable {
}
public func == (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func <= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func >= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func > (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func < (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public enum writingOptionsKeys {
case jsonSerialization
case castNilToNSNull
case maxObjextDepth
case encoding
public static func == (a: M2Kit.writingOptionsKeys, b: M2Kit.writingOptionsKeys) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
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 { public struct M2API {
} }
extension M2Kit.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) 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) 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) 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) 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) 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) public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -61,40 +448,189 @@ extension M2Kit.M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) 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) public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { 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) public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { extension M2Kit.M2API {
@_Concurrency.MainActor @preconcurrency public init() #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) #endif
public typealias Body = Swift.Never #if compiler(>=5.3) && $NonescapableTypes
public typealias Coordinator = Swift.Void @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
public typealias UIViewControllerType = M2Kit.M2WebVC #endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_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?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2API {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@objc deinit @_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
} }
public struct M2Utils { extension M2Kit.M2API {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
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 { extension M2Kit.M2API {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
}
public struct M2Backup {
public static var backupCode: Swift.String {
get
}
#if compiler(>=5.3) && $NonescapableTypes
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 getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: 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)
#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)
#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)
}
public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
}
public struct M2Image {
#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
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> 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 {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
case wifi
case cellular
case other
case none
public static func == (a: M2Kit.M2NetConnecttionType, b: M2Kit.M2NetConnecttionType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get get
} }
} }
extension M2Kit.M2Utils { public struct M2NetMonitor {
public static func randomCode() -> Swift.String public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
}
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 {
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -369,58 +905,69 @@ extension M2Kit.M2Utils {
} }
@objc deinit @objc deinit
} }
public struct M2Radio { 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.M2Radio { extension M2Kit.M2Utils {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) public static var countryCode: Swift.String {
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)
}
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 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.M2Utils {
public static func randomCode() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @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?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @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 @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
}
public enum M2YTIDType : Swift.String {
case video
case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
}
public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}

View File

@ -1,11 +1,13 @@
// swift-interface-format-version: 1.0 // 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-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-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: -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 -interface-compiler-version 6.1.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
import JavaScriptCore import JavaScriptCore
import Network
import StoreKit
import Swift import Swift
import SwiftUI import SwiftUI
import UIKit import UIKit
@ -13,40 +15,425 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
extension M2Kit.M2API { public enum SwiftyJSONError : Swift.Int, Swift.Error {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case unsupportedType
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case indexOutOfBounds
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case elementTooDeep
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case wrongType
@_Concurrency.MainActor public static func getVideosOfChannel(_ channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) case notExist
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]] case invalidJSON
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
} }
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 { extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] public static var errorDomain: Swift.String {
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] get
} }
extension M2Kit.M2API { public var errorCode: Swift.Int {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] get
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { public var errorUserInfo: [Swift.String : Any] {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) get
}
}
public enum Type : Swift.Int {
case number
case string
case bool
case array
case dictionary
case null
case unknown
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
public struct JSON {
public init(data: Foundation.Data, options opt: Foundation.JSONSerialization.ReadingOptions = []) throws
public init(_ object: Any)
public init(parseJSON jsonString: Swift.String)
public mutating func merge(with other: M2Kit.JSON) throws
public func merged(with other: M2Kit.JSON) throws -> M2Kit.JSON
public var type: M2Kit.`Type` {
get
}
public var error: M2Kit.SwiftyJSONError? {
get
}
public var object: Any {
get
set
}
@available(*, unavailable, renamed: "null")
public static var nullJSON: M2Kit.JSON {
get
}
public static var null: M2Kit.JSON {
get
}
}
public enum Index<T> : Swift.Comparable {
case array(Swift.Int)
case dictionary(Swift.DictionaryIndex<Swift.String, T>)
case null
public static func == (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
public static func < (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
}
public typealias JSONIndex = M2Kit.Index<M2Kit.JSON>
public typealias JSONRawIndex = M2Kit.Index<Any>
extension M2Kit.JSON : Swift.Collection {
public typealias Index = M2Kit.JSONRawIndex
public var startIndex: M2Kit.JSON.Index {
get
}
public var endIndex: M2Kit.JSON.Index {
get
}
public func index(after i: M2Kit.JSON.Index) -> M2Kit.JSON.Index
public subscript(position: M2Kit.JSON.Index) -> (Swift.String, M2Kit.JSON) {
get
}
public typealias Element = (Swift.String, M2Kit.JSON)
public typealias Indices = Swift.DefaultIndices<M2Kit.JSON>
public typealias Iterator = Swift.IndexingIterator<M2Kit.JSON>
public typealias SubSequence = Swift.Slice<M2Kit.JSON>
}
public enum JSONKey {
case index(Swift.Int)
case key(Swift.String)
}
public protocol JSONSubscriptType {
var jsonKey: M2Kit.JSONKey { get }
}
extension Swift.Int : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension Swift.String : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension M2Kit.JSON {
public subscript(path: [any M2Kit.JSONSubscriptType]) -> M2Kit.JSON {
get
set
}
public subscript(path: any M2Kit.JSONSubscriptType...) -> M2Kit.JSON {
get
set
}
}
extension M2Kit.JSON : Swift.ExpressibleByStringLiteral {
public init(stringLiteral value: Swift.StringLiteralType)
public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType)
public init(unicodeScalarLiteral value: Swift.StringLiteralType)
public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType
public typealias StringLiteralType = Swift.StringLiteralType
public typealias UnicodeScalarLiteralType = Swift.StringLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByIntegerLiteral {
public init(integerLiteral value: Swift.IntegerLiteralType)
public typealias IntegerLiteralType = Swift.IntegerLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByBooleanLiteral {
public init(booleanLiteral value: Swift.BooleanLiteralType)
public typealias BooleanLiteralType = Swift.BooleanLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByFloatLiteral {
public init(floatLiteral value: Swift.FloatLiteralType)
public typealias FloatLiteralType = Swift.FloatLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByDictionaryLiteral {
public init(dictionaryLiteral elements: (Swift.String, Any)...)
public typealias Key = Swift.String
public typealias Value = Any
}
extension M2Kit.JSON : Swift.ExpressibleByArrayLiteral {
public init(arrayLiteral elements: Any...)
public typealias ArrayLiteralElement = Any
}
extension M2Kit.JSON : Swift.RawRepresentable {
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Any)
#endif
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
#endif
public typealias RawValue = Any
}
extension M2Kit.JSON : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible {
public var description: Swift.String {
get
}
public var debugDescription: Swift.String {
get
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var array: [M2Kit.JSON]? {
get
}
#endif
public var arrayValue: [M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var arrayObject: [Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
#endif
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var bool: Swift.Bool? {
get
set
}
#endif
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var string: Swift.String? {
get
set
}
#endif
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var number: Foundation.NSNumber? {
get
set
}
#endif
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var null: Foundation.NSNull? {
get
set
}
#endif
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var url: Foundation.URL? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var double: Swift.Double? {
get
set
}
#endif
public var doubleValue: Swift.Double {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var float: Swift.Float? {
get
set
}
#endif
public var floatValue: Swift.Float {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int: Swift.Int? {
get
set
}
#endif
public var intValue: Swift.Int {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt: Swift.UInt? {
get
set
}
#endif
public var uIntValue: Swift.UInt {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int8: Swift.Int8? {
get
set
}
#endif
public var int8Value: Swift.Int8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt8: Swift.UInt8? {
get
set
}
#endif
public var uInt8Value: Swift.UInt8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int16: Swift.Int16? {
get
set
}
#endif
public var int16Value: Swift.Int16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt16: Swift.UInt16? {
get
set
}
#endif
public var uInt16Value: Swift.UInt16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int32: Swift.Int32? {
get
set
}
#endif
public var int32Value: Swift.Int32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt32: Swift.UInt32? {
get
set
}
#endif
public var uInt32Value: Swift.UInt32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int64: Swift.Int64? {
get
set
}
#endif
public var int64Value: Swift.Int64 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt64: Swift.UInt64? {
get
set
}
#endif
public var uInt64Value: Swift.UInt64 {
get
set
}
}
extension M2Kit.JSON : Swift.Comparable {
}
public func == (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func <= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func >= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func > (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func < (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public enum writingOptionsKeys {
case jsonSerialization
case castNilToNSNull
case maxObjextDepth
case encoding
public static func == (a: M2Kit.writingOptionsKeys, b: M2Kit.writingOptionsKeys) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
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 { public struct M2API {
} }
extension M2Kit.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) 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) 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) 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) 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) 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) public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -61,40 +448,189 @@ extension M2Kit.M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) 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) public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { 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) public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { extension M2Kit.M2API {
@_Concurrency.MainActor @preconcurrency public init() #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) #endif
public typealias Body = Swift.Never #if compiler(>=5.3) && $NonescapableTypes
public typealias Coordinator = Swift.Void @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
public typealias UIViewControllerType = M2Kit.M2WebVC #endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_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?)
#endif
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2API {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@objc deinit @_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
} }
public struct M2Utils { extension M2Kit.M2API {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
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 { extension M2Kit.M2API {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
}
public struct M2Backup {
public static var backupCode: Swift.String {
get
}
#if compiler(>=5.3) && $NonescapableTypes
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 getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: 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)
#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)
#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)
}
public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
}
public struct M2Image {
#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
}
public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> 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 {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
case wifi
case cellular
case other
case none
public static func == (a: M2Kit.M2NetConnecttionType, b: M2Kit.M2NetConnecttionType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get get
} }
} }
extension M2Kit.M2Utils { public struct M2NetMonitor {
public static func randomCode() -> Swift.String public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
}
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 {
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -369,58 +905,69 @@ extension M2Kit.M2Utils {
} }
@objc deinit @objc deinit
} }
public struct M2Radio { 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.M2Radio { extension M2Kit.M2Utils {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) public static var countryCode: Swift.String {
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)
}
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 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.M2Utils {
public static func randomCode() -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @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?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @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 @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
}
public enum M2YTIDType : Swift.String {
case video
case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
}
public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}

View File

@ -3,7 +3,7 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>BuildMachineOSBuild</key> <key>BuildMachineOSBuild</key>
<string>24F74</string> <string>25C56</string>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>en</string> <string>en</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>5.0</string> <string>5.11</string>
<key>CFBundleSupportedPlatforms</key> <key>CFBundleSupportedPlatforms</key>
<array> <array>
<string>MacOSX</string> <string>MacOSX</string>
@ -27,19 +27,19 @@
<key>DTCompiler</key> <key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string> <string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key> <key>DTPlatformBuild</key>
<string>24F74</string> <string>25C57</string>
<key>DTPlatformName</key> <key>DTPlatformName</key>
<string>macosx</string> <string>macosx</string>
<key>DTPlatformVersion</key> <key>DTPlatformVersion</key>
<string>15.5</string> <string>26.2</string>
<key>DTSDKBuild</key> <key>DTSDKBuild</key>
<string>24F74</string> <string>25C57</string>
<key>DTSDKName</key> <key>DTSDKName</key>
<string>macosx15.5</string> <string>macosx26.2</string>
<key>DTXcode</key> <key>DTXcode</key>
<string>1640</string> <string>2620</string>
<key>DTXcodeBuild</key> <key>DTXcodeBuild</key>
<string>16F6</string> <string>17C52</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>12.0</string> <string>12.0</string>
<key>UIDeviceFamily</key> <key>UIDeviceFamily</key>

View File

@ -1,6 +1,6 @@
#if 0 #if 0
#elif defined(__arm64__) && __arm64__ #elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 6.1.2 effective-5.10 (swiftlang-6.1.2.1.2 clang-1700.0.13.5) // 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 #ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H #define M2KIT_SWIFT_H
#pragma clang diagnostic push #pragma clang diagnostic push
@ -324,7 +324,7 @@ SWIFT_CLASS("_TtC5M2Kit7M2WebVC")
#endif #endif
#elif defined(__x86_64__) && __x86_64__ #elif defined(__x86_64__) && __x86_64__
// Generated by Apple Swift version 6.1.2 effective-5.10 (swiftlang-6.1.2.1.2 clang-1700.0.13.5) // 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 #ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H #define M2KIT_SWIFT_H
#pragma clang diagnostic push #pragma clang diagnostic push

View File

@ -1,11 +1,13 @@
// swift-interface-format-version: 1.0 // 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-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-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: -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 -interface-compiler-version 6.1.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
import JavaScriptCore import JavaScriptCore
import Network
import StoreKit
import Swift import Swift
import SwiftUI import SwiftUI
import UIKit import UIKit
@ -13,24 +15,623 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2Utils { public enum SwiftyJSONError : Swift.Int, Swift.Error {
public static func workFor(trackID: Swift.String) case unsupportedType
public static let workForChangedNotification: Foundation.Notification.Name case indexOutOfBounds
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case elementTooDeep
public static func deleteDataOf(trackID: Swift.String) case wrongType
public static func filePathOf(trackID: Swift.String) -> Swift.String case notExist
} case invalidJSON
extension M2Kit.M2Utils { #if compiler(>=5.3) && $NonescapableTypes
public static var countryCode: Swift.String { public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
public static func randomCode() -> Swift.String public static var errorDomain: Swift.String {
get
}
public var errorCode: Swift.Int {
get
}
public var errorUserInfo: [Swift.String : Any] {
get
}
}
public enum Type : Swift.Int {
case number
case string
case bool
case array
case dictionary
case null
case unknown
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
public struct JSON {
public init(data: Foundation.Data, options opt: Foundation.JSONSerialization.ReadingOptions = []) throws
public init(_ object: Any)
public init(parseJSON jsonString: Swift.String)
public mutating func merge(with other: M2Kit.JSON) throws
public func merged(with other: M2Kit.JSON) throws -> M2Kit.JSON
public var type: M2Kit.`Type` {
get
}
public var error: M2Kit.SwiftyJSONError? {
get
}
public var object: Any {
get
set
}
@available(*, unavailable, renamed: "null")
public static var nullJSON: M2Kit.JSON {
get
}
public static var null: M2Kit.JSON {
get
}
}
public enum Index<T> : Swift.Comparable {
case array(Swift.Int)
case dictionary(Swift.DictionaryIndex<Swift.String, T>)
case null
public static func == (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
public static func < (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
}
public typealias JSONIndex = M2Kit.Index<M2Kit.JSON>
public typealias JSONRawIndex = M2Kit.Index<Any>
extension M2Kit.JSON : Swift.Collection {
public typealias Index = M2Kit.JSONRawIndex
public var startIndex: M2Kit.JSON.Index {
get
}
public var endIndex: M2Kit.JSON.Index {
get
}
public func index(after i: M2Kit.JSON.Index) -> M2Kit.JSON.Index
public subscript(position: M2Kit.JSON.Index) -> (Swift.String, M2Kit.JSON) {
get
}
public typealias Element = (Swift.String, M2Kit.JSON)
public typealias Indices = Swift.DefaultIndices<M2Kit.JSON>
public typealias Iterator = Swift.IndexingIterator<M2Kit.JSON>
public typealias SubSequence = Swift.Slice<M2Kit.JSON>
}
public enum JSONKey {
case index(Swift.Int)
case key(Swift.String)
}
public protocol JSONSubscriptType {
var jsonKey: M2Kit.JSONKey { get }
}
extension Swift.Int : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension Swift.String : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension M2Kit.JSON {
public subscript(path: [any M2Kit.JSONSubscriptType]) -> M2Kit.JSON {
get
set
}
public subscript(path: any M2Kit.JSONSubscriptType...) -> M2Kit.JSON {
get
set
}
}
extension M2Kit.JSON : Swift.ExpressibleByStringLiteral {
public init(stringLiteral value: Swift.StringLiteralType)
public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType)
public init(unicodeScalarLiteral value: Swift.StringLiteralType)
public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType
public typealias StringLiteralType = Swift.StringLiteralType
public typealias UnicodeScalarLiteralType = Swift.StringLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByIntegerLiteral {
public init(integerLiteral value: Swift.IntegerLiteralType)
public typealias IntegerLiteralType = Swift.IntegerLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByBooleanLiteral {
public init(booleanLiteral value: Swift.BooleanLiteralType)
public typealias BooleanLiteralType = Swift.BooleanLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByFloatLiteral {
public init(floatLiteral value: Swift.FloatLiteralType)
public typealias FloatLiteralType = Swift.FloatLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByDictionaryLiteral {
public init(dictionaryLiteral elements: (Swift.String, Any)...)
public typealias Key = Swift.String
public typealias Value = Any
}
extension M2Kit.JSON : Swift.ExpressibleByArrayLiteral {
public init(arrayLiteral elements: Any...)
public typealias ArrayLiteralElement = Any
}
extension M2Kit.JSON : Swift.RawRepresentable {
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Any)
#endif
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
#endif
public typealias RawValue = Any
}
extension M2Kit.JSON : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible {
public var description: Swift.String {
get
}
public var debugDescription: Swift.String {
get
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var array: [M2Kit.JSON]? {
get
}
#endif
public var arrayValue: [M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var arrayObject: [Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
#endif
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var bool: Swift.Bool? {
get
set
}
#endif
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var string: Swift.String? {
get
set
}
#endif
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var number: Foundation.NSNumber? {
get
set
}
#endif
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var null: Foundation.NSNull? {
get
set
}
#endif
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var url: Foundation.URL? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var double: Swift.Double? {
get
set
}
#endif
public var doubleValue: Swift.Double {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var float: Swift.Float? {
get
set
}
#endif
public var floatValue: Swift.Float {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int: Swift.Int? {
get
set
}
#endif
public var intValue: Swift.Int {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt: Swift.UInt? {
get
set
}
#endif
public var uIntValue: Swift.UInt {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int8: Swift.Int8? {
get
set
}
#endif
public var int8Value: Swift.Int8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt8: Swift.UInt8? {
get
set
}
#endif
public var uInt8Value: Swift.UInt8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int16: Swift.Int16? {
get
set
}
#endif
public var int16Value: Swift.Int16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt16: Swift.UInt16? {
get
set
}
#endif
public var uInt16Value: Swift.UInt16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int32: Swift.Int32? {
get
set
}
#endif
public var int32Value: Swift.Int32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt32: Swift.UInt32? {
get
set
}
#endif
public var uInt32Value: Swift.UInt32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int64: Swift.Int64? {
get
set
}
#endif
public var int64Value: Swift.Int64 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt64: Swift.UInt64? {
get
set
}
#endif
public var uInt64Value: Swift.UInt64 {
get
set
}
}
extension M2Kit.JSON : Swift.Comparable {
}
public func == (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func <= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func >= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func > (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func < (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public enum writingOptionsKeys {
case jsonSerialization
case castNilToNSNull
case maxObjextDepth
case encoding
public static func == (a: M2Kit.writingOptionsKeys, b: M2Kit.writingOptionsKeys) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
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 {
}
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)
#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)
#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)
#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)
#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)
#endif
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)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
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)
#endif
}
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?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_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?)
#endif
@_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]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
}
public struct M2Backup {
public static var backupCode: Swift.String {
get
}
#if compiler(>=5.3) && $NonescapableTypes
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 getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: 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)
#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)
#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)
}
public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
}
public struct M2Image {
#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
} }
public struct M2K { public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> 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 {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
case wifi
case cellular
case other
case none
public static func == (a: M2Kit.M2NetConnecttionType, b: M2Kit.M2NetConnecttionType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
}
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 {
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
get get
@ -304,110 +905,30 @@ public struct M2K {
} }
@objc deinit @objc deinit
} }
public struct M2Image { public struct M2Utils {
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) public static func workFor(trackID: Swift.String)
public static func uploadImage(_ image: UIKit.UIImage) async -> 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
} }
public struct M2Radio { extension M2Kit.M2Utils {
} public static var countryCode: Swift.String {
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 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 struct M2Musi {
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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 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 { extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) public static func randomCode() -> 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 { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]] #endif
} #if compiler(>=5.3) && $NonescapableTypes
extension M2Kit.M2API { @_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] #endif
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @objc deinit
}
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 struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor @preconcurrency public init()
@ -417,10 +938,36 @@ extension M2Kit.M2API {
public typealias Coordinator = Swift.Void public typealias Coordinator = Swift.Void
public typealias UIViewControllerType = M2Kit.M2WebVC public typealias UIViewControllerType = M2Kit.M2WebVC
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { public enum M2YTIDType : Swift.String {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() case video
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) case playlist
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) #if compiler(>=5.3) && $NonescapableTypes
@objc deinit public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
} }
}
public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}

View File

@ -1,11 +1,13 @@
// swift-interface-format-version: 1.0 // 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-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-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: -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 -interface-compiler-version 6.1.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
import JavaScriptCore import JavaScriptCore
import Network
import StoreKit
import Swift import Swift
import SwiftUI import SwiftUI
import UIKit import UIKit
@ -13,24 +15,623 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2Utils { public enum SwiftyJSONError : Swift.Int, Swift.Error {
public static func workFor(trackID: Swift.String) case unsupportedType
public static let workForChangedNotification: Foundation.Notification.Name case indexOutOfBounds
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case elementTooDeep
public static func deleteDataOf(trackID: Swift.String) case wrongType
public static func filePathOf(trackID: Swift.String) -> Swift.String case notExist
} case invalidJSON
extension M2Kit.M2Utils { #if compiler(>=5.3) && $NonescapableTypes
public static var countryCode: Swift.String { public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
public static func randomCode() -> Swift.String public static var errorDomain: Swift.String {
get
}
public var errorCode: Swift.Int {
get
}
public var errorUserInfo: [Swift.String : Any] {
get
}
}
public enum Type : Swift.Int {
case number
case string
case bool
case array
case dictionary
case null
case unknown
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
public struct JSON {
public init(data: Foundation.Data, options opt: Foundation.JSONSerialization.ReadingOptions = []) throws
public init(_ object: Any)
public init(parseJSON jsonString: Swift.String)
public mutating func merge(with other: M2Kit.JSON) throws
public func merged(with other: M2Kit.JSON) throws -> M2Kit.JSON
public var type: M2Kit.`Type` {
get
}
public var error: M2Kit.SwiftyJSONError? {
get
}
public var object: Any {
get
set
}
@available(*, unavailable, renamed: "null")
public static var nullJSON: M2Kit.JSON {
get
}
public static var null: M2Kit.JSON {
get
}
}
public enum Index<T> : Swift.Comparable {
case array(Swift.Int)
case dictionary(Swift.DictionaryIndex<Swift.String, T>)
case null
public static func == (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
public static func < (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
}
public typealias JSONIndex = M2Kit.Index<M2Kit.JSON>
public typealias JSONRawIndex = M2Kit.Index<Any>
extension M2Kit.JSON : Swift.Collection {
public typealias Index = M2Kit.JSONRawIndex
public var startIndex: M2Kit.JSON.Index {
get
}
public var endIndex: M2Kit.JSON.Index {
get
}
public func index(after i: M2Kit.JSON.Index) -> M2Kit.JSON.Index
public subscript(position: M2Kit.JSON.Index) -> (Swift.String, M2Kit.JSON) {
get
}
public typealias Element = (Swift.String, M2Kit.JSON)
public typealias Indices = Swift.DefaultIndices<M2Kit.JSON>
public typealias Iterator = Swift.IndexingIterator<M2Kit.JSON>
public typealias SubSequence = Swift.Slice<M2Kit.JSON>
}
public enum JSONKey {
case index(Swift.Int)
case key(Swift.String)
}
public protocol JSONSubscriptType {
var jsonKey: M2Kit.JSONKey { get }
}
extension Swift.Int : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension Swift.String : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension M2Kit.JSON {
public subscript(path: [any M2Kit.JSONSubscriptType]) -> M2Kit.JSON {
get
set
}
public subscript(path: any M2Kit.JSONSubscriptType...) -> M2Kit.JSON {
get
set
}
}
extension M2Kit.JSON : Swift.ExpressibleByStringLiteral {
public init(stringLiteral value: Swift.StringLiteralType)
public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType)
public init(unicodeScalarLiteral value: Swift.StringLiteralType)
public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType
public typealias StringLiteralType = Swift.StringLiteralType
public typealias UnicodeScalarLiteralType = Swift.StringLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByIntegerLiteral {
public init(integerLiteral value: Swift.IntegerLiteralType)
public typealias IntegerLiteralType = Swift.IntegerLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByBooleanLiteral {
public init(booleanLiteral value: Swift.BooleanLiteralType)
public typealias BooleanLiteralType = Swift.BooleanLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByFloatLiteral {
public init(floatLiteral value: Swift.FloatLiteralType)
public typealias FloatLiteralType = Swift.FloatLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByDictionaryLiteral {
public init(dictionaryLiteral elements: (Swift.String, Any)...)
public typealias Key = Swift.String
public typealias Value = Any
}
extension M2Kit.JSON : Swift.ExpressibleByArrayLiteral {
public init(arrayLiteral elements: Any...)
public typealias ArrayLiteralElement = Any
}
extension M2Kit.JSON : Swift.RawRepresentable {
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Any)
#endif
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
#endif
public typealias RawValue = Any
}
extension M2Kit.JSON : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible {
public var description: Swift.String {
get
}
public var debugDescription: Swift.String {
get
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var array: [M2Kit.JSON]? {
get
}
#endif
public var arrayValue: [M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var arrayObject: [Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
#endif
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var bool: Swift.Bool? {
get
set
}
#endif
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var string: Swift.String? {
get
set
}
#endif
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var number: Foundation.NSNumber? {
get
set
}
#endif
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var null: Foundation.NSNull? {
get
set
}
#endif
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var url: Foundation.URL? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var double: Swift.Double? {
get
set
}
#endif
public var doubleValue: Swift.Double {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var float: Swift.Float? {
get
set
}
#endif
public var floatValue: Swift.Float {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int: Swift.Int? {
get
set
}
#endif
public var intValue: Swift.Int {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt: Swift.UInt? {
get
set
}
#endif
public var uIntValue: Swift.UInt {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int8: Swift.Int8? {
get
set
}
#endif
public var int8Value: Swift.Int8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt8: Swift.UInt8? {
get
set
}
#endif
public var uInt8Value: Swift.UInt8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int16: Swift.Int16? {
get
set
}
#endif
public var int16Value: Swift.Int16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt16: Swift.UInt16? {
get
set
}
#endif
public var uInt16Value: Swift.UInt16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int32: Swift.Int32? {
get
set
}
#endif
public var int32Value: Swift.Int32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt32: Swift.UInt32? {
get
set
}
#endif
public var uInt32Value: Swift.UInt32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int64: Swift.Int64? {
get
set
}
#endif
public var int64Value: Swift.Int64 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt64: Swift.UInt64? {
get
set
}
#endif
public var uInt64Value: Swift.UInt64 {
get
set
}
}
extension M2Kit.JSON : Swift.Comparable {
}
public func == (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func <= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func >= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func > (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func < (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public enum writingOptionsKeys {
case jsonSerialization
case castNilToNSNull
case maxObjextDepth
case encoding
public static func == (a: M2Kit.writingOptionsKeys, b: M2Kit.writingOptionsKeys) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
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 {
}
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)
#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)
#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)
#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)
#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)
#endif
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)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
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)
#endif
}
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?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_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?)
#endif
@_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]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
}
public struct M2Backup {
public static var backupCode: Swift.String {
get
}
#if compiler(>=5.3) && $NonescapableTypes
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 getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: 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)
#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)
#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)
}
public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
}
public struct M2Image {
#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
} }
public struct M2K { public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> 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 {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
case wifi
case cellular
case other
case none
public static func == (a: M2Kit.M2NetConnecttionType, b: M2Kit.M2NetConnecttionType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
}
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 {
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
get get
@ -304,110 +905,30 @@ public struct M2K {
} }
@objc deinit @objc deinit
} }
public struct M2Image { public struct M2Utils {
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) public static func workFor(trackID: Swift.String)
public static func uploadImage(_ image: UIKit.UIImage) async -> 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
} }
public struct M2Radio { extension M2Kit.M2Utils {
} public static var countryCode: Swift.String {
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 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 struct M2Musi {
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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 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 { extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) public static func randomCode() -> 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 { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]] #endif
} #if compiler(>=5.3) && $NonescapableTypes
extension M2Kit.M2API { @_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] #endif
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @objc deinit
}
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 struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor @preconcurrency public init()
@ -417,10 +938,36 @@ extension M2Kit.M2API {
public typealias Coordinator = Swift.Void public typealias Coordinator = Swift.Void
public typealias UIViewControllerType = M2Kit.M2WebVC public typealias UIViewControllerType = M2Kit.M2WebVC
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { public enum M2YTIDType : Swift.String {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() case video
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) case playlist
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) #if compiler(>=5.3) && $NonescapableTypes
@objc deinit public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
} }
}
public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}

View File

@ -1,11 +1,13 @@
// swift-interface-format-version: 1.0 // 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-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-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: -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 -interface-compiler-version 6.1.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
import JavaScriptCore import JavaScriptCore
import Network
import StoreKit
import Swift import Swift
import SwiftUI import SwiftUI
import UIKit import UIKit
@ -13,24 +15,623 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2Utils { public enum SwiftyJSONError : Swift.Int, Swift.Error {
public static func workFor(trackID: Swift.String) case unsupportedType
public static let workForChangedNotification: Foundation.Notification.Name case indexOutOfBounds
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case elementTooDeep
public static func deleteDataOf(trackID: Swift.String) case wrongType
public static func filePathOf(trackID: Swift.String) -> Swift.String case notExist
} case invalidJSON
extension M2Kit.M2Utils { #if compiler(>=5.3) && $NonescapableTypes
public static var countryCode: Swift.String { public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
public static func randomCode() -> Swift.String public static var errorDomain: Swift.String {
get
}
public var errorCode: Swift.Int {
get
}
public var errorUserInfo: [Swift.String : Any] {
get
}
}
public enum Type : Swift.Int {
case number
case string
case bool
case array
case dictionary
case null
case unknown
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
public struct JSON {
public init(data: Foundation.Data, options opt: Foundation.JSONSerialization.ReadingOptions = []) throws
public init(_ object: Any)
public init(parseJSON jsonString: Swift.String)
public mutating func merge(with other: M2Kit.JSON) throws
public func merged(with other: M2Kit.JSON) throws -> M2Kit.JSON
public var type: M2Kit.`Type` {
get
}
public var error: M2Kit.SwiftyJSONError? {
get
}
public var object: Any {
get
set
}
@available(*, unavailable, renamed: "null")
public static var nullJSON: M2Kit.JSON {
get
}
public static var null: M2Kit.JSON {
get
}
}
public enum Index<T> : Swift.Comparable {
case array(Swift.Int)
case dictionary(Swift.DictionaryIndex<Swift.String, T>)
case null
public static func == (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
public static func < (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
}
public typealias JSONIndex = M2Kit.Index<M2Kit.JSON>
public typealias JSONRawIndex = M2Kit.Index<Any>
extension M2Kit.JSON : Swift.Collection {
public typealias Index = M2Kit.JSONRawIndex
public var startIndex: M2Kit.JSON.Index {
get
}
public var endIndex: M2Kit.JSON.Index {
get
}
public func index(after i: M2Kit.JSON.Index) -> M2Kit.JSON.Index
public subscript(position: M2Kit.JSON.Index) -> (Swift.String, M2Kit.JSON) {
get
}
public typealias Element = (Swift.String, M2Kit.JSON)
public typealias Indices = Swift.DefaultIndices<M2Kit.JSON>
public typealias Iterator = Swift.IndexingIterator<M2Kit.JSON>
public typealias SubSequence = Swift.Slice<M2Kit.JSON>
}
public enum JSONKey {
case index(Swift.Int)
case key(Swift.String)
}
public protocol JSONSubscriptType {
var jsonKey: M2Kit.JSONKey { get }
}
extension Swift.Int : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension Swift.String : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension M2Kit.JSON {
public subscript(path: [any M2Kit.JSONSubscriptType]) -> M2Kit.JSON {
get
set
}
public subscript(path: any M2Kit.JSONSubscriptType...) -> M2Kit.JSON {
get
set
}
}
extension M2Kit.JSON : Swift.ExpressibleByStringLiteral {
public init(stringLiteral value: Swift.StringLiteralType)
public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType)
public init(unicodeScalarLiteral value: Swift.StringLiteralType)
public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType
public typealias StringLiteralType = Swift.StringLiteralType
public typealias UnicodeScalarLiteralType = Swift.StringLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByIntegerLiteral {
public init(integerLiteral value: Swift.IntegerLiteralType)
public typealias IntegerLiteralType = Swift.IntegerLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByBooleanLiteral {
public init(booleanLiteral value: Swift.BooleanLiteralType)
public typealias BooleanLiteralType = Swift.BooleanLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByFloatLiteral {
public init(floatLiteral value: Swift.FloatLiteralType)
public typealias FloatLiteralType = Swift.FloatLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByDictionaryLiteral {
public init(dictionaryLiteral elements: (Swift.String, Any)...)
public typealias Key = Swift.String
public typealias Value = Any
}
extension M2Kit.JSON : Swift.ExpressibleByArrayLiteral {
public init(arrayLiteral elements: Any...)
public typealias ArrayLiteralElement = Any
}
extension M2Kit.JSON : Swift.RawRepresentable {
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Any)
#endif
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
#endif
public typealias RawValue = Any
}
extension M2Kit.JSON : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible {
public var description: Swift.String {
get
}
public var debugDescription: Swift.String {
get
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var array: [M2Kit.JSON]? {
get
}
#endif
public var arrayValue: [M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var arrayObject: [Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
#endif
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var bool: Swift.Bool? {
get
set
}
#endif
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var string: Swift.String? {
get
set
}
#endif
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var number: Foundation.NSNumber? {
get
set
}
#endif
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var null: Foundation.NSNull? {
get
set
}
#endif
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var url: Foundation.URL? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var double: Swift.Double? {
get
set
}
#endif
public var doubleValue: Swift.Double {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var float: Swift.Float? {
get
set
}
#endif
public var floatValue: Swift.Float {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int: Swift.Int? {
get
set
}
#endif
public var intValue: Swift.Int {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt: Swift.UInt? {
get
set
}
#endif
public var uIntValue: Swift.UInt {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int8: Swift.Int8? {
get
set
}
#endif
public var int8Value: Swift.Int8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt8: Swift.UInt8? {
get
set
}
#endif
public var uInt8Value: Swift.UInt8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int16: Swift.Int16? {
get
set
}
#endif
public var int16Value: Swift.Int16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt16: Swift.UInt16? {
get
set
}
#endif
public var uInt16Value: Swift.UInt16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int32: Swift.Int32? {
get
set
}
#endif
public var int32Value: Swift.Int32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt32: Swift.UInt32? {
get
set
}
#endif
public var uInt32Value: Swift.UInt32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int64: Swift.Int64? {
get
set
}
#endif
public var int64Value: Swift.Int64 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt64: Swift.UInt64? {
get
set
}
#endif
public var uInt64Value: Swift.UInt64 {
get
set
}
}
extension M2Kit.JSON : Swift.Comparable {
}
public func == (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func <= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func >= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func > (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func < (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public enum writingOptionsKeys {
case jsonSerialization
case castNilToNSNull
case maxObjextDepth
case encoding
public static func == (a: M2Kit.writingOptionsKeys, b: M2Kit.writingOptionsKeys) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
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 {
}
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)
#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)
#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)
#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)
#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)
#endif
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)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
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)
#endif
}
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?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_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?)
#endif
@_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]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
}
public struct M2Backup {
public static var backupCode: Swift.String {
get
}
#if compiler(>=5.3) && $NonescapableTypes
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 getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: 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)
#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)
#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)
}
public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
}
public struct M2Image {
#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
} }
public struct M2K { public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> 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 {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
case wifi
case cellular
case other
case none
public static func == (a: M2Kit.M2NetConnecttionType, b: M2Kit.M2NetConnecttionType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
}
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 {
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
get get
@ -304,110 +905,30 @@ public struct M2K {
} }
@objc deinit @objc deinit
} }
public struct M2Image { public struct M2Utils {
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) public static func workFor(trackID: Swift.String)
public static func uploadImage(_ image: UIKit.UIImage) async -> 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
} }
public struct M2Radio { extension M2Kit.M2Utils {
} public static var countryCode: Swift.String {
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 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 struct M2Musi {
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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 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 { extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) public static func randomCode() -> 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 { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]] #endif
} #if compiler(>=5.3) && $NonescapableTypes
extension M2Kit.M2API { @_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] #endif
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @objc deinit
}
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 struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor @preconcurrency public init()
@ -417,10 +938,36 @@ extension M2Kit.M2API {
public typealias Coordinator = Swift.Void public typealias Coordinator = Swift.Void
public typealias UIViewControllerType = M2Kit.M2WebVC public typealias UIViewControllerType = M2Kit.M2WebVC
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { public enum M2YTIDType : Swift.String {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() case video
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) case playlist
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) #if compiler(>=5.3) && $NonescapableTypes
@objc deinit public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
} }
}
public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}

View File

@ -1,11 +1,13 @@
// swift-interface-format-version: 1.0 // 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-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-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: -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 -interface-compiler-version 6.1.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
import JavaScriptCore import JavaScriptCore
import Network
import StoreKit
import Swift import Swift
import SwiftUI import SwiftUI
import UIKit import UIKit
@ -13,24 +15,623 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2Utils { public enum SwiftyJSONError : Swift.Int, Swift.Error {
public static func workFor(trackID: Swift.String) case unsupportedType
public static let workForChangedNotification: Foundation.Notification.Name case indexOutOfBounds
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case elementTooDeep
public static func deleteDataOf(trackID: Swift.String) case wrongType
public static func filePathOf(trackID: Swift.String) -> Swift.String case notExist
} case invalidJSON
extension M2Kit.M2Utils { #if compiler(>=5.3) && $NonescapableTypes
public static var countryCode: Swift.String { public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
public static func randomCode() -> Swift.String public static var errorDomain: Swift.String {
get
}
public var errorCode: Swift.Int {
get
}
public var errorUserInfo: [Swift.String : Any] {
get
}
}
public enum Type : Swift.Int {
case number
case string
case bool
case array
case dictionary
case null
case unknown
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.Int)
#endif
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
public struct JSON {
public init(data: Foundation.Data, options opt: Foundation.JSONSerialization.ReadingOptions = []) throws
public init(_ object: Any)
public init(parseJSON jsonString: Swift.String)
public mutating func merge(with other: M2Kit.JSON) throws
public func merged(with other: M2Kit.JSON) throws -> M2Kit.JSON
public var type: M2Kit.`Type` {
get
}
public var error: M2Kit.SwiftyJSONError? {
get
}
public var object: Any {
get
set
}
@available(*, unavailable, renamed: "null")
public static var nullJSON: M2Kit.JSON {
get
}
public static var null: M2Kit.JSON {
get
}
}
public enum Index<T> : Swift.Comparable {
case array(Swift.Int)
case dictionary(Swift.DictionaryIndex<Swift.String, T>)
case null
public static func == (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
public static func < (lhs: M2Kit.Index<T>, rhs: M2Kit.Index<T>) -> Swift.Bool
}
public typealias JSONIndex = M2Kit.Index<M2Kit.JSON>
public typealias JSONRawIndex = M2Kit.Index<Any>
extension M2Kit.JSON : Swift.Collection {
public typealias Index = M2Kit.JSONRawIndex
public var startIndex: M2Kit.JSON.Index {
get
}
public var endIndex: M2Kit.JSON.Index {
get
}
public func index(after i: M2Kit.JSON.Index) -> M2Kit.JSON.Index
public subscript(position: M2Kit.JSON.Index) -> (Swift.String, M2Kit.JSON) {
get
}
public typealias Element = (Swift.String, M2Kit.JSON)
public typealias Indices = Swift.DefaultIndices<M2Kit.JSON>
public typealias Iterator = Swift.IndexingIterator<M2Kit.JSON>
public typealias SubSequence = Swift.Slice<M2Kit.JSON>
}
public enum JSONKey {
case index(Swift.Int)
case key(Swift.String)
}
public protocol JSONSubscriptType {
var jsonKey: M2Kit.JSONKey { get }
}
extension Swift.Int : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension Swift.String : M2Kit.JSONSubscriptType {
public var jsonKey: M2Kit.JSONKey {
get
}
}
extension M2Kit.JSON {
public subscript(path: [any M2Kit.JSONSubscriptType]) -> M2Kit.JSON {
get
set
}
public subscript(path: any M2Kit.JSONSubscriptType...) -> M2Kit.JSON {
get
set
}
}
extension M2Kit.JSON : Swift.ExpressibleByStringLiteral {
public init(stringLiteral value: Swift.StringLiteralType)
public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType)
public init(unicodeScalarLiteral value: Swift.StringLiteralType)
public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType
public typealias StringLiteralType = Swift.StringLiteralType
public typealias UnicodeScalarLiteralType = Swift.StringLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByIntegerLiteral {
public init(integerLiteral value: Swift.IntegerLiteralType)
public typealias IntegerLiteralType = Swift.IntegerLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByBooleanLiteral {
public init(booleanLiteral value: Swift.BooleanLiteralType)
public typealias BooleanLiteralType = Swift.BooleanLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByFloatLiteral {
public init(floatLiteral value: Swift.FloatLiteralType)
public typealias FloatLiteralType = Swift.FloatLiteralType
}
extension M2Kit.JSON : Swift.ExpressibleByDictionaryLiteral {
public init(dictionaryLiteral elements: (Swift.String, Any)...)
public typealias Key = Swift.String
public typealias Value = Any
}
extension M2Kit.JSON : Swift.ExpressibleByArrayLiteral {
public init(arrayLiteral elements: Any...)
public typealias ArrayLiteralElement = Any
}
extension M2Kit.JSON : Swift.RawRepresentable {
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Any)
#endif
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
#endif
public typealias RawValue = Any
}
extension M2Kit.JSON : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible {
public var description: Swift.String {
get
}
public var debugDescription: Swift.String {
get
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var array: [M2Kit.JSON]? {
get
}
#endif
public var arrayValue: [M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var arrayObject: [Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
#endif
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
#if compiler(>=5.3) && $NonescapableTypes
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var bool: Swift.Bool? {
get
set
}
#endif
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var string: Swift.String? {
get
set
}
#endif
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var number: Foundation.NSNumber? {
get
set
}
#endif
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var null: Foundation.NSNull? {
get
set
}
#endif
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var url: Foundation.URL? {
get
set
}
#endif
}
extension M2Kit.JSON {
#if compiler(>=5.3) && $NonescapableTypes
public var double: Swift.Double? {
get
set
}
#endif
public var doubleValue: Swift.Double {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var float: Swift.Float? {
get
set
}
#endif
public var floatValue: Swift.Float {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int: Swift.Int? {
get
set
}
#endif
public var intValue: Swift.Int {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt: Swift.UInt? {
get
set
}
#endif
public var uIntValue: Swift.UInt {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int8: Swift.Int8? {
get
set
}
#endif
public var int8Value: Swift.Int8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt8: Swift.UInt8? {
get
set
}
#endif
public var uInt8Value: Swift.UInt8 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int16: Swift.Int16? {
get
set
}
#endif
public var int16Value: Swift.Int16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt16: Swift.UInt16? {
get
set
}
#endif
public var uInt16Value: Swift.UInt16 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int32: Swift.Int32? {
get
set
}
#endif
public var int32Value: Swift.Int32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt32: Swift.UInt32? {
get
set
}
#endif
public var uInt32Value: Swift.UInt32 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var int64: Swift.Int64? {
get
set
}
#endif
public var int64Value: Swift.Int64 {
get
set
}
#if compiler(>=5.3) && $NonescapableTypes
public var uInt64: Swift.UInt64? {
get
set
}
#endif
public var uInt64Value: Swift.UInt64 {
get
set
}
}
extension M2Kit.JSON : Swift.Comparable {
}
public func == (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func <= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func >= (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func > (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public func < (lhs: M2Kit.JSON, rhs: M2Kit.JSON) -> Swift.Bool
public enum writingOptionsKeys {
case jsonSerialization
case castNilToNSNull
case maxObjextDepth
case encoding
public static func == (a: M2Kit.writingOptionsKeys, b: M2Kit.writingOptionsKeys) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
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 {
}
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)
#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)
#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)
#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)
#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)
#endif
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)
#if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif
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)
#endif
}
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?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_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?)
#endif
@_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]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
}
extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
}
public struct M2Backup {
public static var backupCode: Swift.String {
get
}
#if compiler(>=5.3) && $NonescapableTypes
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 getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: 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)
#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)
#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)
}
public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
#if compiler(>=5.3) && $NonescapableTypes
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?
#endif
}
public struct M2Image {
#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
} }
public struct M2K { public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> 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 {
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
}
public enum M2NetConnecttionType {
case wifi
case cellular
case other
case none
public static func == (a: M2Kit.M2NetConnecttionType, b: M2Kit.M2NetConnecttionType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool {
get
}
public var connectionType: M2Kit.M2NetConnecttionType {
get
}
public func stop()
}
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 {
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif
}
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
get get
@ -304,110 +905,30 @@ public struct M2K {
} }
@objc deinit @objc deinit
} }
public struct M2Image { public struct M2Utils {
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) public static func workFor(trackID: Swift.String)
public static func uploadImage(_ image: UIKit.UIImage) async -> 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
} }
public struct M2Radio { extension M2Kit.M2Utils {
} public static var countryCode: Swift.String {
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 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 struct M2Musi {
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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 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 { extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) public static func randomCode() -> 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 { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]] #endif
} #if compiler(>=5.3) && $NonescapableTypes
extension M2Kit.M2API { @_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] #endif
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @objc deinit
}
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 struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor @preconcurrency public init()
@ -417,10 +938,36 @@ extension M2Kit.M2API {
public typealias Coordinator = Swift.Void public typealias Coordinator = Swift.Void
public typealias UIViewControllerType = M2Kit.M2WebVC public typealias UIViewControllerType = M2Kit.M2WebVC
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { public enum M2YTIDType : Swift.String {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() case video
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) case playlist
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) #if compiler(>=5.3) && $NonescapableTypes
@objc deinit public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
} }
}
public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes
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)
#endif
}
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.M2WebView : Swift.Sendable {}
extension M2Kit.M2YTIDType : Swift.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {}

View File

@ -6,51 +6,51 @@
<dict> <dict>
<key>Headers/M2Kit-Swift.h</key> <key>Headers/M2Kit-Swift.h</key>
<data> <data>
0DzI04NNpL+f+PpBMmGt2ucfr08= 7Rdmc7huiI6sKd5bwPLEoLlkiYc=
</data> </data>
<key>Info.plist</key> <key>Info.plist</key>
<data> <data>
gmexQA1TE3E+n/WVnF/hjQUmTjs= qsQheHmPij30tyM/BtYaYUyU0wc=
</data> </data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.abi.json</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
<data> <data>
f1/M1exhkkhOmRcAPR51KO2bs44= RR8v7eaxVMDk0jmY0I0Hjt6hsZ0=
</data> </data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
<data> <data>
a7YU3AHhbs9xoOlNljqdsm5DVOI= 5sxhWnS8papnp5y6r5xs1uwNYoQ=
</data> </data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
<data> <data>
Z4/pF0D62a68bVriWlNj2hCraUM= OOZmR9BumBD3ntGGxE8kprctaQk=
</data> </data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
<data> <data>
a7YU3AHhbs9xoOlNljqdsm5DVOI= 5sxhWnS8papnp5y6r5xs1uwNYoQ=
</data> </data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<data> <data>
GMq0QjIgQunfbhylHh5EZlOhv5A= JxdhifI/vbPbAMy3bFkqOKunLLY=
</data> </data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key> <key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
<data> <data>
f1/M1exhkkhOmRcAPR51KO2bs44= RR8v7eaxVMDk0jmY0I0Hjt6hsZ0=
</data> </data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key> <key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
<data> <data>
AKKFuj00zromkZKMxNAy8xyyZos= GzKPuZKvv0h/IobM+/GLKD8Hcqc=
</data> </data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key> <key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<data> <data>
Mz1VELY1nRgBR/HaJUnt9ZtiziQ= 0MZ45LpAJAoX653u3M48qdUcqTw=
</data> </data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key> <key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<data> <data>
AKKFuj00zromkZKMxNAy8xyyZos= GzKPuZKvv0h/IobM+/GLKD8Hcqc=
</data> </data>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key> <key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<data> <data>
Em+weZpsJ+JY/uWcIPdoMX63yoo= 9u3fvGKhO8khDEIg9Kuds+V3RBk=
</data> </data>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<data> <data>
@ -61,131 +61,83 @@
<dict> <dict>
<key>Headers/M2Kit-Swift.h</key> <key>Headers/M2Kit-Swift.h</key>
<dict> <dict>
<key>hash</key>
<data>
0DzI04NNpL+f+PpBMmGt2ucfr08=
</data>
<key>hash2</key> <key>hash2</key>
<data> <data>
A78VD7yJ8np9LrqrgAjc2yDuCr4tAMI5mBS7Cr04X4k= SzL7aZykET1tYTLu2DE+CPYFwYoxjE/pNa2/+qsMmJk=
</data> </data>
</dict> </dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.abi.json</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
<dict> <dict>
<key>hash</key>
<data>
f1/M1exhkkhOmRcAPR51KO2bs44=
</data>
<key>hash2</key> <key>hash2</key>
<data> <data>
Z0cEZzOTse202lrloGUPpywJDGY3aMDksvPzrPSFqtw= 4bFbtDpxnxr9/omb6C1K42nPe+jiBBXo7wJ3bcnQIbc=
</data> </data>
</dict> </dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
<dict> <dict>
<key>hash</key>
<data>
a7YU3AHhbs9xoOlNljqdsm5DVOI=
</data>
<key>hash2</key> <key>hash2</key>
<data> <data>
djE0odqm1z5HyAVQyVZqxK3K9rXbwlIMHNDFLzQZm5g= PhxWLBRJpdJdb5+yaudxdG3QWY3v6nin6IRgwCDrqi0=
</data> </data>
</dict> </dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
<dict> <dict>
<key>hash</key>
<data>
Z4/pF0D62a68bVriWlNj2hCraUM=
</data>
<key>hash2</key> <key>hash2</key>
<data> <data>
9vCi2fqqunKTeVhf0oTciw8WD7c+dt+9To7f9fb2iPA= JWytsc6a5e2DLv+8sHV3qqJ+iSfhru1DvtCpuCURMgk=
</data> </data>
</dict> </dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
<dict> <dict>
<key>hash</key>
<data>
a7YU3AHhbs9xoOlNljqdsm5DVOI=
</data>
<key>hash2</key> <key>hash2</key>
<data> <data>
djE0odqm1z5HyAVQyVZqxK3K9rXbwlIMHNDFLzQZm5g= PhxWLBRJpdJdb5+yaudxdG3QWY3v6nin6IRgwCDrqi0=
</data> </data>
</dict> </dict>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<dict> <dict>
<key>hash</key>
<data>
GMq0QjIgQunfbhylHh5EZlOhv5A=
</data>
<key>hash2</key> <key>hash2</key>
<data> <data>
snccpDl8/Yc44s3awPxlhN4BcKfLxEziLQ34ok9fju4= g75adHZqCcdGfQhEEoSejgSe3X+RAAeokdMMDR+8h64=
</data> </data>
</dict> </dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key> <key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
<dict> <dict>
<key>hash</key>
<data>
f1/M1exhkkhOmRcAPR51KO2bs44=
</data>
<key>hash2</key> <key>hash2</key>
<data> <data>
Z0cEZzOTse202lrloGUPpywJDGY3aMDksvPzrPSFqtw= 4bFbtDpxnxr9/omb6C1K42nPe+jiBBXo7wJ3bcnQIbc=
</data> </data>
</dict> </dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key> <key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
<dict> <dict>
<key>hash</key>
<data>
AKKFuj00zromkZKMxNAy8xyyZos=
</data>
<key>hash2</key> <key>hash2</key>
<data> <data>
xnLHVf13BzPM/Yv0DYHg3mgy+m9HWhbu5QeXFQC4fwI= kxYTcFx/gWvznH2oAtSKJUOYXXcP6hdqjw/lmlKAxBk=
</data> </data>
</dict> </dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key> <key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<dict> <dict>
<key>hash</key>
<data>
Mz1VELY1nRgBR/HaJUnt9ZtiziQ=
</data>
<key>hash2</key> <key>hash2</key>
<data> <data>
YFt/11a7LpL/va/Sg4pYLvjmsRQkeVHSnC5CK3bymqk= 03zWpLNKuxnWEvlhvPNu6Xg+OmgR9ikhwbr0pXRLWe4=
</data> </data>
</dict> </dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key> <key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<dict> <dict>
<key>hash</key>
<data>
AKKFuj00zromkZKMxNAy8xyyZos=
</data>
<key>hash2</key> <key>hash2</key>
<data> <data>
xnLHVf13BzPM/Yv0DYHg3mgy+m9HWhbu5QeXFQC4fwI= kxYTcFx/gWvznH2oAtSKJUOYXXcP6hdqjw/lmlKAxBk=
</data> </data>
</dict> </dict>
<key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key> <key>Modules/M2Kit.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<dict> <dict>
<key>hash</key>
<data>
Em+weZpsJ+JY/uWcIPdoMX63yoo=
</data>
<key>hash2</key> <key>hash2</key>
<data> <data>
tk93zjTC42c9TmrFvzYlQmDQk63FV/iPlb6A/8amCRE= IbWjHyPaulpRcX3V6V1SOXO9/djtAeSjkgtGCdLla+E=
</data> </data>
</dict> </dict>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<dict> <dict>
<key>hash</key>
<data>
n8UZhGfofoCUF2Y9arJmb3ut22Y=
</data>
<key>hash2</key> <key>hash2</key>
<data> <data>
P0GTeNVvyR+ml51cVmqnRlvKjJYeeF4GdLyZwo9Knw4= P0GTeNVvyR+ml51cVmqnRlvKjJYeeF4GdLyZwo9Knw4=

View File

@ -1,3 +1,3 @@
M2Kit M2Kit
===== =====
v5.0.0 v5.11