32 Commits

Author SHA1 Message Date
ee793de89d 5.31 2026-05-14 11:08:16 +07:00
63522ae598 5.30 2026-04-03 14:23:55 +07:00
d02221f9cd 5.29 2026-03-28 16:48:32 +07:00
0a3921b586 5.28 2026-03-27 10:43:41 +07:00
4fc9504766 5.27 2026-03-27 10:12:24 +07:00
c6664ebf22 5.26 2026-03-20 11:34:26 +07:00
f53ed7d815 update 2026-03-20 11:24:29 +07:00
cd16fd3ce3 5.25 2026-03-20 11:04:19 +07:00
e6c206197c 5.24 2026-03-12 22:41:32 +07:00
a53e238bb1 5.23 2026-03-05 12:25:08 +07:00
affc334c65 5.22 2026-03-03 19:09:22 +07:00
32e26138f9 5.21 2026-02-26 15:24:11 +07:00
23a9ea0820 5.20 2026-02-26 14:58:55 +07:00
28534ab6aa 5.19 2026-02-18 08:00:12 +07:00
11c95a7569 5.18 2026-02-10 10:23:05 +07:00
7a2ba658eb 5.17 2026-02-08 14:22:56 +07:00
199a5be7c5 5.16 2026-02-02 16:29:23 +07:00
582f58294b 5.15 2026-01-27 10:45:08 +07:00
f04a3e5eec 5.14 2026-01-24 10:06:38 +07:00
c29efe1e30 5.13 2026-01-03 07:59:52 +07:00
6f123d9191 5.12 2025-12-26 12:04:29 +07:00
7175167bc2 5.11 2025-12-23 15:38:44 +07:00
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
37 changed files with 104325 additions and 28241 deletions

View File

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

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
#ifndef M2KIT_SWIFT_H #ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H #define M2KIT_SWIFT_H
#pragma clang diagnostic push #pragma clang diagnostic push
@ -26,7 +26,7 @@
#pragma clang diagnostic ignored "-Wauto-import" #pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__) #if defined(__OBJC__)
#include <Foundation/Foundation.h> #include <Foundation/Foundation.h>
#endif #endif // defined(__OBJC__)
#if defined(__cplusplus) #if defined(__cplusplus)
#include <cstdint> #include <cstdint>
#include <cstddef> #include <cstddef>
@ -195,13 +195,32 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# endif # endif
#endif #endif
#if !defined(SWIFT_ENUM) #if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# if __has_feature(generalized_swift_name) # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
# else # else
# define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif # endif
#endif #endif
#if !defined(SWIFT_ENUM_TAG)
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# define SWIFT_ENUM_TAG enum
# else
# define SWIFT_ENUM_TAG
# endif
#endif
#if !defined(SWIFT_ENUM_FWD_DECL)
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type;
# else
# define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name;
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE) #if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable)) # define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif #endif
@ -211,6 +230,9 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#if !defined(SWIFT_AVAILABILITY) #if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif #endif
#if !defined(SWIFT_AVAILABILITY_DOMAIN)
# define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT) #if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif #endif
@ -276,6 +298,49 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# define SWIFT_IMPORT_STDLIB_SYMBOL # define SWIFT_IMPORT_STDLIB_SYMBOL
#endif #endif
#endif #endif
#if !__has_feature(nullability)
# define _Nonnull
# define _Nullable
# define _Null_unspecified
#elif !defined(__OBJC__)
# pragma clang diagnostic ignored "-Wnullability-extension"
#endif
#if !__has_feature(nullability_nullable_result)
# define _Nullable_result _Nullable
#endif
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="M2Kit",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__cplusplus)
extern "C" {
#endif
#if defined(__cplusplus)
} // extern "C"
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__OBJC__) #if defined(__OBJC__)
#if __has_feature(objc_modules) #if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header") #if __has_warning("-Watimport-in-framework-header")
@ -284,7 +349,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
@import UIKit; @import UIKit;
#endif #endif
#endif #endif // defined(__OBJC__)
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg" #pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute") #if __has_warning("-Wpragma-clang-attribute")
@ -314,7 +379,7 @@ SWIFT_CLASS("_TtC5M2Kit7M2WebVC")
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end @end
#endif #endif // defined(__OBJC__)
#if __has_attribute(external_source_symbol) #if __has_attribute(external_source_symbol)
# pragma clang attribute pop # pragma clang attribute pop
#endif #endif

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
// 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-ios16.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -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.3.2
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,43 +15,432 @@ 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) public init?(rawValue: Swift.Int)
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? public typealias RawValue = Swift.Int
} public var rawValue: Swift.Int {
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) extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int) -> Swift.Void) 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
public init?(rawValue: Swift.Int)
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 {
public init?(rawValue: Any)
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
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 {
public var array: [M2Kit.JSON]? {
get
}
public var arrayValue: [M2Kit.JSON] {
get
}
public var arrayObject: [Any]? {
get
set
}
}
extension M2Kit.JSON {
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
}
extension M2Kit.JSON {
public var bool: Swift.Bool? {
get
set
}
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
public var string: Swift.String? {
get
set
}
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
public var number: Foundation.NSNumber? {
get
set
}
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
public var null: Foundation.NSNull? {
get
set
}
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
public var url: Foundation.URL? {
get
set
}
}
extension M2Kit.JSON {
public var double: Swift.Double? {
get
set
}
public var doubleValue: Swift.Double {
get
set
}
public var float: Swift.Float? {
get
set
}
public var floatValue: Swift.Float {
get
set
}
public var int: Swift.Int? {
get
set
}
public var intValue: Swift.Int {
get
set
}
public var uInt: Swift.UInt? {
get
set
}
public var uIntValue: Swift.UInt {
get
set
}
public var int8: Swift.Int8? {
get
set
}
public var int8Value: Swift.Int8 {
get
set
}
public var uInt8: Swift.UInt8? {
get
set
}
public var uInt8Value: Swift.UInt8 {
get
set
}
public var int16: Swift.Int16? {
get
set
}
public var int16Value: Swift.Int16 {
get
set
}
public var uInt16: Swift.UInt16? {
get
set
}
public var uInt16Value: Swift.UInt16 {
get
set
}
public var int32: Swift.Int32? {
get
set
}
public var int32Value: Swift.Int32 {
get
set
}
public var uInt32: Swift.UInt32? {
get
set
}
public var uInt32Value: Swift.UInt32 {
get
set
}
public var int64: Swift.Int64? {
get
set
}
public var int64Value: Swift.Int64 {
get
set
}
public var uInt64: Swift.UInt64? {
get
set
}
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
}
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func 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 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 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?) @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: 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]] @_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] @_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -58,64 +449,151 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
}
public struct M2API {
} }
extension M2Kit.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) @_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { @_Concurrency.MainActor public struct M2Backup {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @_Concurrency.MainActor public static var backupCode: Swift.String {
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) get
}
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
} }
extension M2Kit.M2API { public let m2Version: Swift.String
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
extension M2Kit.M2API { @_Concurrency.MainActor public struct M2HTTP {
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
public typealias Body = Swift.Never @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public typealias Coordinator = Swift.Void @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
public typealias UIViewControllerType = M2Kit.M2WebVC @_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isEnable: Swift.Bool {
get
}
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @_Concurrency.MainActor public struct M2Image {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2K {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
extension M2Kit.M2Utils { @_Concurrency.MainActor public struct M2Log {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Musi {
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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 { @_Concurrency.MainActor public struct M2NetMonitor {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor public func stop()
}
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStations(title: Swift.String, token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topStations(token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForRadio() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listStationsByGenres(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func stationInfo(station: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcasts(title: Swift.String, token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listEpisodesOfPodcast(podcast: [Swift.AnyHashable : Any], token: Swift.String?) async -> (episodes: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topPodcasts(token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForPodcast() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listPodcastsByGenre(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func podcastInfo(podcast: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlay(station: [Swift.AnyHashable : Any]) async -> Swift.String?
@_Concurrency.MainActor public static func getLinkPlay(episode: [Swift.AnyHashable : Any]) async -> Swift.String?
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -390,37 +868,91 @@ extension M2Kit.M2Utils {
} }
@objc deinit @objc deinit
} }
public struct M2Radio { public enum M2VideoStatus {
case none
case queueing
case loading
case done
public static func == (a: M2Kit.M2VideoStatus, b: M2Kit.M2VideoStatus) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
} }
extension M2Kit.M2Radio { @_Concurrency.MainActor public struct M2Utils {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func workFor(trackID: Swift.String)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] @_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
public static func changeRadioCountryCode(_ code: Swift.String) @_Concurrency.MainActor public static let workForBeginNotification: Foundation.Notification.Name
public static func getCurrentRadioCountryCode() -> Swift.String @_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func checkStatus(trackID: Swift.String) -> M2Kit.M2VideoStatus
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
extension M2Kit.M2Radio { extension M2Kit.M2Utils {
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static var countryCode: Swift.String {
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) get
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) @_Concurrency.MainActor public static func randomCode7() -> Swift.String
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func randomCode11() -> Swift.String
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 { extension M2Kit.M2Utils {
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
} }
public struct M2Musi { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
} }
public struct M2K { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
public typealias Coordinator = Swift.Void
public typealias UIViewControllerType = M2Kit.M2WebVC
} }
public enum M2YTIDType : Swift.String {
case video
case playlist
public init?(rawValue: Swift.String)
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
}
@_Concurrency.MainActor public struct M2YT {
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2VideoStatus : Swift.Equatable {}
extension M2Kit.M2VideoStatus : Swift.Hashable {}
extension M2Kit.M2Utils : Swift.Sendable {}
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 {}
extension M2Kit.M2YT : Swift.Sendable {}

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
// 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-ios16.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -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.3.2
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,43 +15,432 @@ 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) public init?(rawValue: Swift.Int)
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? public typealias RawValue = Swift.Int
} public var rawValue: Swift.Int {
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) extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int) -> Swift.Void) 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
public init?(rawValue: Swift.Int)
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 {
public init?(rawValue: Any)
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
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 {
public var array: [M2Kit.JSON]? {
get
}
public var arrayValue: [M2Kit.JSON] {
get
}
public var arrayObject: [Any]? {
get
set
}
}
extension M2Kit.JSON {
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
}
extension M2Kit.JSON {
public var bool: Swift.Bool? {
get
set
}
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
public var string: Swift.String? {
get
set
}
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
public var number: Foundation.NSNumber? {
get
set
}
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
public var null: Foundation.NSNull? {
get
set
}
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
public var url: Foundation.URL? {
get
set
}
}
extension M2Kit.JSON {
public var double: Swift.Double? {
get
set
}
public var doubleValue: Swift.Double {
get
set
}
public var float: Swift.Float? {
get
set
}
public var floatValue: Swift.Float {
get
set
}
public var int: Swift.Int? {
get
set
}
public var intValue: Swift.Int {
get
set
}
public var uInt: Swift.UInt? {
get
set
}
public var uIntValue: Swift.UInt {
get
set
}
public var int8: Swift.Int8? {
get
set
}
public var int8Value: Swift.Int8 {
get
set
}
public var uInt8: Swift.UInt8? {
get
set
}
public var uInt8Value: Swift.UInt8 {
get
set
}
public var int16: Swift.Int16? {
get
set
}
public var int16Value: Swift.Int16 {
get
set
}
public var uInt16: Swift.UInt16? {
get
set
}
public var uInt16Value: Swift.UInt16 {
get
set
}
public var int32: Swift.Int32? {
get
set
}
public var int32Value: Swift.Int32 {
get
set
}
public var uInt32: Swift.UInt32? {
get
set
}
public var uInt32Value: Swift.UInt32 {
get
set
}
public var int64: Swift.Int64? {
get
set
}
public var int64Value: Swift.Int64 {
get
set
}
public var uInt64: Swift.UInt64? {
get
set
}
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
}
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func 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 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 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?) @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: 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]] @_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] @_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -58,64 +449,151 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
}
public struct M2API {
} }
extension M2Kit.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) @_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { @_Concurrency.MainActor public struct M2Backup {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @_Concurrency.MainActor public static var backupCode: Swift.String {
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) get
}
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
} }
extension M2Kit.M2API { public let m2Version: Swift.String
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
extension M2Kit.M2API { @_Concurrency.MainActor public struct M2HTTP {
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
public typealias Body = Swift.Never @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public typealias Coordinator = Swift.Void @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
public typealias UIViewControllerType = M2Kit.M2WebVC @_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isEnable: Swift.Bool {
get
}
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @_Concurrency.MainActor public struct M2Image {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2K {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
extension M2Kit.M2Utils { @_Concurrency.MainActor public struct M2Log {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Musi {
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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 { @_Concurrency.MainActor public struct M2NetMonitor {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor public func stop()
}
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStations(title: Swift.String, token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topStations(token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForRadio() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listStationsByGenres(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func stationInfo(station: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcasts(title: Swift.String, token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listEpisodesOfPodcast(podcast: [Swift.AnyHashable : Any], token: Swift.String?) async -> (episodes: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topPodcasts(token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForPodcast() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listPodcastsByGenre(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func podcastInfo(podcast: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlay(station: [Swift.AnyHashable : Any]) async -> Swift.String?
@_Concurrency.MainActor public static func getLinkPlay(episode: [Swift.AnyHashable : Any]) async -> Swift.String?
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -390,37 +868,91 @@ extension M2Kit.M2Utils {
} }
@objc deinit @objc deinit
} }
public struct M2Radio { public enum M2VideoStatus {
case none
case queueing
case loading
case done
public static func == (a: M2Kit.M2VideoStatus, b: M2Kit.M2VideoStatus) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
} }
extension M2Kit.M2Radio { @_Concurrency.MainActor public struct M2Utils {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func workFor(trackID: Swift.String)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] @_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
public static func changeRadioCountryCode(_ code: Swift.String) @_Concurrency.MainActor public static let workForBeginNotification: Foundation.Notification.Name
public static func getCurrentRadioCountryCode() -> Swift.String @_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func checkStatus(trackID: Swift.String) -> M2Kit.M2VideoStatus
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
extension M2Kit.M2Radio { extension M2Kit.M2Utils {
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static var countryCode: Swift.String {
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) get
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) @_Concurrency.MainActor public static func randomCode7() -> Swift.String
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func randomCode11() -> Swift.String
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 { extension M2Kit.M2Utils {
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
} }
public struct M2Musi { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
} }
public struct M2K { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
public typealias Coordinator = Swift.Void
public typealias UIViewControllerType = M2Kit.M2WebVC
} }
public enum M2YTIDType : Swift.String {
case video
case playlist
public init?(rawValue: Swift.String)
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
}
@_Concurrency.MainActor public struct M2YT {
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2VideoStatus : Swift.Equatable {}
extension M2Kit.M2VideoStatus : Swift.Hashable {}
extension M2Kit.M2Utils : Swift.Sendable {}
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 {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

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

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
#ifndef M2KIT_SWIFT_H #ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H #define M2KIT_SWIFT_H
#pragma clang diagnostic push #pragma clang diagnostic push
@ -26,7 +26,7 @@
#pragma clang diagnostic ignored "-Wauto-import" #pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__) #if defined(__OBJC__)
#include <Foundation/Foundation.h> #include <Foundation/Foundation.h>
#endif #endif // defined(__OBJC__)
#if defined(__cplusplus) #if defined(__cplusplus)
#include <cstdint> #include <cstdint>
#include <cstddef> #include <cstddef>
@ -195,13 +195,32 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# endif # endif
#endif #endif
#if !defined(SWIFT_ENUM) #if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# if __has_feature(generalized_swift_name) # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
# else # else
# define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif # endif
#endif #endif
#if !defined(SWIFT_ENUM_TAG)
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# define SWIFT_ENUM_TAG enum
# else
# define SWIFT_ENUM_TAG
# endif
#endif
#if !defined(SWIFT_ENUM_FWD_DECL)
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type;
# else
# define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name;
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE) #if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable)) # define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif #endif
@ -211,6 +230,9 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#if !defined(SWIFT_AVAILABILITY) #if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif #endif
#if !defined(SWIFT_AVAILABILITY_DOMAIN)
# define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT) #if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif #endif
@ -276,6 +298,49 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# define SWIFT_IMPORT_STDLIB_SYMBOL # define SWIFT_IMPORT_STDLIB_SYMBOL
#endif #endif
#endif #endif
#if !__has_feature(nullability)
# define _Nonnull
# define _Nullable
# define _Null_unspecified
#elif !defined(__OBJC__)
# pragma clang diagnostic ignored "-Wnullability-extension"
#endif
#if !__has_feature(nullability_nullable_result)
# define _Nullable_result _Nullable
#endif
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="M2Kit",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__cplusplus)
extern "C" {
#endif
#if defined(__cplusplus)
} // extern "C"
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__OBJC__) #if defined(__OBJC__)
#if __has_feature(objc_modules) #if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header") #if __has_warning("-Watimport-in-framework-header")
@ -284,7 +349,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
@import UIKit; @import UIKit;
#endif #endif
#endif #endif // defined(__OBJC__)
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg" #pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute") #if __has_warning("-Wpragma-clang-attribute")
@ -314,7 +379,7 @@ SWIFT_CLASS("_TtC5M2Kit7M2WebVC")
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end @end
#endif #endif // defined(__OBJC__)
#if __has_attribute(external_source_symbol) #if __has_attribute(external_source_symbol)
# pragma clang attribute pop # pragma clang attribute pop
#endif #endif
@ -324,7 +389,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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
#ifndef M2KIT_SWIFT_H #ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H #define M2KIT_SWIFT_H
#pragma clang diagnostic push #pragma clang diagnostic push
@ -350,7 +415,7 @@ SWIFT_CLASS("_TtC5M2Kit7M2WebVC")
#pragma clang diagnostic ignored "-Wauto-import" #pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__) #if defined(__OBJC__)
#include <Foundation/Foundation.h> #include <Foundation/Foundation.h>
#endif #endif // defined(__OBJC__)
#if defined(__cplusplus) #if defined(__cplusplus)
#include <cstdint> #include <cstdint>
#include <cstddef> #include <cstddef>
@ -519,13 +584,32 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# endif # endif
#endif #endif
#if !defined(SWIFT_ENUM) #if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# if __has_feature(generalized_swift_name) # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
# else # else
# define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif # endif
#endif #endif
#if !defined(SWIFT_ENUM_TAG)
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# define SWIFT_ENUM_TAG enum
# else
# define SWIFT_ENUM_TAG
# endif
#endif
#if !defined(SWIFT_ENUM_FWD_DECL)
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type;
# else
# define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name;
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE) #if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable)) # define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif #endif
@ -535,6 +619,9 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#if !defined(SWIFT_AVAILABILITY) #if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif #endif
#if !defined(SWIFT_AVAILABILITY_DOMAIN)
# define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT) #if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif #endif
@ -600,6 +687,49 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# define SWIFT_IMPORT_STDLIB_SYMBOL # define SWIFT_IMPORT_STDLIB_SYMBOL
#endif #endif
#endif #endif
#if !__has_feature(nullability)
# define _Nonnull
# define _Nullable
# define _Null_unspecified
#elif !defined(__OBJC__)
# pragma clang diagnostic ignored "-Wnullability-extension"
#endif
#if !__has_feature(nullability_nullable_result)
# define _Nullable_result _Nullable
#endif
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="M2Kit",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__cplusplus)
extern "C" {
#endif
#if defined(__cplusplus)
} // extern "C"
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__OBJC__) #if defined(__OBJC__)
#if __has_feature(objc_modules) #if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header") #if __has_warning("-Watimport-in-framework-header")
@ -608,7 +738,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
@import UIKit; @import UIKit;
#endif #endif
#endif #endif // defined(__OBJC__)
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg" #pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute") #if __has_warning("-Wpragma-clang-attribute")
@ -638,7 +768,7 @@ SWIFT_CLASS("_TtC5M2Kit7M2WebVC")
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end @end
#endif #endif // defined(__OBJC__)
#if __has_attribute(external_source_symbol) #if __has_attribute(external_source_symbol)
# pragma clang attribute pop # pragma clang attribute pop
#endif #endif

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
// 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-ios16.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -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.3.2
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,22 +15,432 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public enum SwiftyJSONError : Swift.Int, Swift.Error {
case unsupportedType
case indexOutOfBounds
case elementTooDeep
case wrongType
case notExist
case invalidJSON
public init?(rawValue: Swift.Int)
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
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
public init?(rawValue: Swift.Int)
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 {
public init?(rawValue: Any)
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
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 {
public var array: [M2Kit.JSON]? {
get
}
public var arrayValue: [M2Kit.JSON] {
get
}
public var arrayObject: [Any]? {
get
set
}
}
extension M2Kit.JSON {
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
}
extension M2Kit.JSON {
public var bool: Swift.Bool? {
get
set
}
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
public var string: Swift.String? {
get
set
}
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
public var number: Foundation.NSNumber? {
get
set
}
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
public var null: Foundation.NSNull? {
get
set
}
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
public var url: Foundation.URL? {
get
set
}
}
extension M2Kit.JSON {
public var double: Swift.Double? {
get
set
}
public var doubleValue: Swift.Double {
get
set
}
public var float: Swift.Float? {
get
set
}
public var floatValue: Swift.Float {
get
set
}
public var int: Swift.Int? {
get
set
}
public var intValue: Swift.Int {
get
set
}
public var uInt: Swift.UInt? {
get
set
}
public var uIntValue: Swift.UInt {
get
set
}
public var int8: Swift.Int8? {
get
set
}
public var int8Value: Swift.Int8 {
get
set
}
public var uInt8: Swift.UInt8? {
get
set
}
public var uInt8Value: Swift.UInt8 {
get
set
}
public var int16: Swift.Int16? {
get
set
}
public var int16Value: Swift.Int16 {
get
set
}
public var uInt16: Swift.UInt16? {
get
set
}
public var uInt16Value: Swift.UInt16 {
get
set
}
public var int32: Swift.Int32? {
get
set
}
public var int32Value: Swift.Int32 {
get
set
}
public var uInt32: Swift.UInt32? {
get
set
}
public var uInt32Value: Swift.UInt32 {
get
set
}
public var int64: Swift.Int64? {
get
set
}
public var int64Value: Swift.Int64 {
get
set
}
public var uInt64: Swift.UInt64? {
get
set
}
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
}
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API { extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func 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 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 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?) @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: 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]] @_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] @_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -37,64 +449,151 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
}
public struct M2API {
} }
extension M2Kit.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) @_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { @_Concurrency.MainActor public struct M2Backup {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @_Concurrency.MainActor public static var backupCode: Swift.String {
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) get
}
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
} }
extension M2Kit.M2API { public let m2Version: Swift.String
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
extension M2Kit.M2API { @_Concurrency.MainActor public struct M2HTTP {
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
public typealias Body = Swift.Never @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public typealias Coordinator = Swift.Void @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
public typealias UIViewControllerType = M2Kit.M2WebVC @_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isEnable: Swift.Bool {
get
}
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @_Concurrency.MainActor public struct M2Image {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2K {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
extension M2Kit.M2Utils { @_Concurrency.MainActor public struct M2Log {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Musi {
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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 { @_Concurrency.MainActor public struct M2NetMonitor {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor public func stop()
}
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStations(title: Swift.String, token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topStations(token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForRadio() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listStationsByGenres(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func stationInfo(station: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcasts(title: Swift.String, token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listEpisodesOfPodcast(podcast: [Swift.AnyHashable : Any], token: Swift.String?) async -> (episodes: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topPodcasts(token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForPodcast() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listPodcastsByGenre(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func podcastInfo(podcast: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlay(station: [Swift.AnyHashable : Any]) async -> Swift.String?
@_Concurrency.MainActor public static func getLinkPlay(episode: [Swift.AnyHashable : Any]) async -> Swift.String?
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -369,58 +868,91 @@ extension M2Kit.M2Utils {
} }
@objc deinit @objc deinit
} }
public struct M2Radio { public enum M2VideoStatus {
} case none
extension M2Kit.M2Radio { case queueing
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) case loading
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] case done
public static func changeRadioCountryCode(_ code: Swift.String) public static func == (a: M2Kit.M2VideoStatus, b: M2Kit.M2VideoStatus) -> Swift.Bool
public static func getCurrentRadioCountryCode() -> Swift.String public func hash(into hasher: inout Swift.Hasher)
} public var hashValue: Swift.Int {
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)
} }
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let workForBeginNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func checkStatus(trackID: Swift.String) -> M2Kit.M2VideoStatus
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
public typealias Coordinator = Swift.Void
public typealias UIViewControllerType = M2Kit.M2WebVC
}
public enum M2YTIDType : Swift.String {
case video
case playlist
public init?(rawValue: Swift.String)
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
}
@_Concurrency.MainActor public struct M2YT {
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2VideoStatus : Swift.Equatable {}
extension M2Kit.M2VideoStatus : Swift.Hashable {}
extension M2Kit.M2Utils : Swift.Sendable {}
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 {}
extension M2Kit.M2YT : Swift.Sendable {}

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
// 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-ios16.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -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.3.2
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,22 +15,432 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public enum SwiftyJSONError : Swift.Int, Swift.Error {
case unsupportedType
case indexOutOfBounds
case elementTooDeep
case wrongType
case notExist
case invalidJSON
public init?(rawValue: Swift.Int)
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
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
public init?(rawValue: Swift.Int)
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 {
public init?(rawValue: Any)
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
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 {
public var array: [M2Kit.JSON]? {
get
}
public var arrayValue: [M2Kit.JSON] {
get
}
public var arrayObject: [Any]? {
get
set
}
}
extension M2Kit.JSON {
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
}
extension M2Kit.JSON {
public var bool: Swift.Bool? {
get
set
}
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
public var string: Swift.String? {
get
set
}
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
public var number: Foundation.NSNumber? {
get
set
}
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
public var null: Foundation.NSNull? {
get
set
}
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
public var url: Foundation.URL? {
get
set
}
}
extension M2Kit.JSON {
public var double: Swift.Double? {
get
set
}
public var doubleValue: Swift.Double {
get
set
}
public var float: Swift.Float? {
get
set
}
public var floatValue: Swift.Float {
get
set
}
public var int: Swift.Int? {
get
set
}
public var intValue: Swift.Int {
get
set
}
public var uInt: Swift.UInt? {
get
set
}
public var uIntValue: Swift.UInt {
get
set
}
public var int8: Swift.Int8? {
get
set
}
public var int8Value: Swift.Int8 {
get
set
}
public var uInt8: Swift.UInt8? {
get
set
}
public var uInt8Value: Swift.UInt8 {
get
set
}
public var int16: Swift.Int16? {
get
set
}
public var int16Value: Swift.Int16 {
get
set
}
public var uInt16: Swift.UInt16? {
get
set
}
public var uInt16Value: Swift.UInt16 {
get
set
}
public var int32: Swift.Int32? {
get
set
}
public var int32Value: Swift.Int32 {
get
set
}
public var uInt32: Swift.UInt32? {
get
set
}
public var uInt32Value: Swift.UInt32 {
get
set
}
public var int64: Swift.Int64? {
get
set
}
public var int64Value: Swift.Int64 {
get
set
}
public var uInt64: Swift.UInt64? {
get
set
}
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
}
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API { extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func 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 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 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?) @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: 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]] @_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] @_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -37,64 +449,151 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
}
public struct M2API {
} }
extension M2Kit.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) @_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { @_Concurrency.MainActor public struct M2Backup {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @_Concurrency.MainActor public static var backupCode: Swift.String {
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) get
}
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
} }
extension M2Kit.M2API { public let m2Version: Swift.String
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
extension M2Kit.M2API { @_Concurrency.MainActor public struct M2HTTP {
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
public typealias Body = Swift.Never @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public typealias Coordinator = Swift.Void @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
public typealias UIViewControllerType = M2Kit.M2WebVC @_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isEnable: Swift.Bool {
get
}
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @_Concurrency.MainActor public struct M2Image {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2K {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
extension M2Kit.M2Utils { @_Concurrency.MainActor public struct M2Log {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Musi {
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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 { @_Concurrency.MainActor public struct M2NetMonitor {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor public func stop()
}
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStations(title: Swift.String, token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topStations(token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForRadio() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listStationsByGenres(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func stationInfo(station: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcasts(title: Swift.String, token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listEpisodesOfPodcast(podcast: [Swift.AnyHashable : Any], token: Swift.String?) async -> (episodes: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topPodcasts(token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForPodcast() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listPodcastsByGenre(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func podcastInfo(podcast: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlay(station: [Swift.AnyHashable : Any]) async -> Swift.String?
@_Concurrency.MainActor public static func getLinkPlay(episode: [Swift.AnyHashable : Any]) async -> Swift.String?
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -369,58 +868,91 @@ extension M2Kit.M2Utils {
} }
@objc deinit @objc deinit
} }
public struct M2Radio { public enum M2VideoStatus {
} case none
extension M2Kit.M2Radio { case queueing
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) case loading
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] case done
public static func changeRadioCountryCode(_ code: Swift.String) public static func == (a: M2Kit.M2VideoStatus, b: M2Kit.M2VideoStatus) -> Swift.Bool
public static func getCurrentRadioCountryCode() -> Swift.String public func hash(into hasher: inout Swift.Hasher)
} public var hashValue: Swift.Int {
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)
} }
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let workForBeginNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func checkStatus(trackID: Swift.String) -> M2Kit.M2VideoStatus
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
public typealias Coordinator = Swift.Void
public typealias UIViewControllerType = M2Kit.M2WebVC
}
public enum M2YTIDType : Swift.String {
case video
case playlist
public init?(rawValue: Swift.String)
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
}
@_Concurrency.MainActor public struct M2YT {
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2VideoStatus : Swift.Equatable {}
extension M2Kit.M2VideoStatus : Swift.Hashable {}
extension M2Kit.M2Utils : Swift.Sendable {}
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 {}
extension M2Kit.M2YT : Swift.Sendable {}

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
// 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-ios16.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -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.3.2
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,22 +15,432 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public enum SwiftyJSONError : Swift.Int, Swift.Error {
case unsupportedType
case indexOutOfBounds
case elementTooDeep
case wrongType
case notExist
case invalidJSON
public init?(rawValue: Swift.Int)
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
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
public init?(rawValue: Swift.Int)
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 {
public init?(rawValue: Any)
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
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 {
public var array: [M2Kit.JSON]? {
get
}
public var arrayValue: [M2Kit.JSON] {
get
}
public var arrayObject: [Any]? {
get
set
}
}
extension M2Kit.JSON {
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
}
extension M2Kit.JSON {
public var bool: Swift.Bool? {
get
set
}
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
public var string: Swift.String? {
get
set
}
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
public var number: Foundation.NSNumber? {
get
set
}
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
public var null: Foundation.NSNull? {
get
set
}
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
public var url: Foundation.URL? {
get
set
}
}
extension M2Kit.JSON {
public var double: Swift.Double? {
get
set
}
public var doubleValue: Swift.Double {
get
set
}
public var float: Swift.Float? {
get
set
}
public var floatValue: Swift.Float {
get
set
}
public var int: Swift.Int? {
get
set
}
public var intValue: Swift.Int {
get
set
}
public var uInt: Swift.UInt? {
get
set
}
public var uIntValue: Swift.UInt {
get
set
}
public var int8: Swift.Int8? {
get
set
}
public var int8Value: Swift.Int8 {
get
set
}
public var uInt8: Swift.UInt8? {
get
set
}
public var uInt8Value: Swift.UInt8 {
get
set
}
public var int16: Swift.Int16? {
get
set
}
public var int16Value: Swift.Int16 {
get
set
}
public var uInt16: Swift.UInt16? {
get
set
}
public var uInt16Value: Swift.UInt16 {
get
set
}
public var int32: Swift.Int32? {
get
set
}
public var int32Value: Swift.Int32 {
get
set
}
public var uInt32: Swift.UInt32? {
get
set
}
public var uInt32Value: Swift.UInt32 {
get
set
}
public var int64: Swift.Int64? {
get
set
}
public var int64Value: Swift.Int64 {
get
set
}
public var uInt64: Swift.UInt64? {
get
set
}
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
}
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API { extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func 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 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 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?) @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: 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]] @_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] @_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -37,64 +449,151 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
}
public struct M2API {
} }
extension M2Kit.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) @_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { @_Concurrency.MainActor public struct M2Backup {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @_Concurrency.MainActor public static var backupCode: Swift.String {
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) get
}
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
} }
extension M2Kit.M2API { public let m2Version: Swift.String
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
extension M2Kit.M2API { @_Concurrency.MainActor public struct M2HTTP {
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
public typealias Body = Swift.Never @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public typealias Coordinator = Swift.Void @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
public typealias UIViewControllerType = M2Kit.M2WebVC @_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isEnable: Swift.Bool {
get
}
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @_Concurrency.MainActor public struct M2Image {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2K {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
extension M2Kit.M2Utils { @_Concurrency.MainActor public struct M2Log {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Musi {
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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 { @_Concurrency.MainActor public struct M2NetMonitor {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor public func stop()
}
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStations(title: Swift.String, token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topStations(token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForRadio() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listStationsByGenres(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func stationInfo(station: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcasts(title: Swift.String, token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listEpisodesOfPodcast(podcast: [Swift.AnyHashable : Any], token: Swift.String?) async -> (episodes: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topPodcasts(token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForPodcast() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listPodcastsByGenre(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func podcastInfo(podcast: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlay(station: [Swift.AnyHashable : Any]) async -> Swift.String?
@_Concurrency.MainActor public static func getLinkPlay(episode: [Swift.AnyHashable : Any]) async -> Swift.String?
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -369,58 +868,91 @@ extension M2Kit.M2Utils {
} }
@objc deinit @objc deinit
} }
public struct M2Radio { public enum M2VideoStatus {
} case none
extension M2Kit.M2Radio { case queueing
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) case loading
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] case done
public static func changeRadioCountryCode(_ code: Swift.String) public static func == (a: M2Kit.M2VideoStatus, b: M2Kit.M2VideoStatus) -> Swift.Bool
public static func getCurrentRadioCountryCode() -> Swift.String public func hash(into hasher: inout Swift.Hasher)
} public var hashValue: Swift.Int {
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)
} }
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let workForBeginNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func checkStatus(trackID: Swift.String) -> M2Kit.M2VideoStatus
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
public typealias Coordinator = Swift.Void
public typealias UIViewControllerType = M2Kit.M2WebVC
}
public enum M2YTIDType : Swift.String {
case video
case playlist
public init?(rawValue: Swift.String)
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
}
@_Concurrency.MainActor public struct M2YT {
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2VideoStatus : Swift.Equatable {}
extension M2Kit.M2VideoStatus : Swift.Hashable {}
extension M2Kit.M2Utils : Swift.Sendable {}
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 {}
extension M2Kit.M2YT : Swift.Sendable {}

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
// 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-ios16.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -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.3.2
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,22 +15,432 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public enum SwiftyJSONError : Swift.Int, Swift.Error {
case unsupportedType
case indexOutOfBounds
case elementTooDeep
case wrongType
case notExist
case invalidJSON
public init?(rawValue: Swift.Int)
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
extension M2Kit.SwiftyJSONError : Foundation.CustomNSError {
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
public init?(rawValue: Swift.Int)
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 {
public init?(rawValue: Any)
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
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 {
public var array: [M2Kit.JSON]? {
get
}
public var arrayValue: [M2Kit.JSON] {
get
}
public var arrayObject: [Any]? {
get
set
}
}
extension M2Kit.JSON {
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
}
extension M2Kit.JSON {
public var bool: Swift.Bool? {
get
set
}
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
public var string: Swift.String? {
get
set
}
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
public var number: Foundation.NSNumber? {
get
set
}
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
public var null: Foundation.NSNull? {
get
set
}
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
public var url: Foundation.URL? {
get
set
}
}
extension M2Kit.JSON {
public var double: Swift.Double? {
get
set
}
public var doubleValue: Swift.Double {
get
set
}
public var float: Swift.Float? {
get
set
}
public var floatValue: Swift.Float {
get
set
}
public var int: Swift.Int? {
get
set
}
public var intValue: Swift.Int {
get
set
}
public var uInt: Swift.UInt? {
get
set
}
public var uIntValue: Swift.UInt {
get
set
}
public var int8: Swift.Int8? {
get
set
}
public var int8Value: Swift.Int8 {
get
set
}
public var uInt8: Swift.UInt8? {
get
set
}
public var uInt8Value: Swift.UInt8 {
get
set
}
public var int16: Swift.Int16? {
get
set
}
public var int16Value: Swift.Int16 {
get
set
}
public var uInt16: Swift.UInt16? {
get
set
}
public var uInt16Value: Swift.UInt16 {
get
set
}
public var int32: Swift.Int32? {
get
set
}
public var int32Value: Swift.Int32 {
get
set
}
public var uInt32: Swift.UInt32? {
get
set
}
public var uInt32Value: Swift.UInt32 {
get
set
}
public var int64: Swift.Int64? {
get
set
}
public var int64Value: Swift.Int64 {
get
set
}
public var uInt64: Swift.UInt64? {
get
set
}
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
}
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API { extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func 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 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 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?) @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: 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]] @_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] @_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -37,64 +449,151 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
}
public struct M2API {
} }
extension M2Kit.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) @_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
} }
extension M2Kit.M2API { @_Concurrency.MainActor public struct M2Backup {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @_Concurrency.MainActor public static var backupCode: Swift.String {
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) get
}
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
} }
extension M2Kit.M2API { public let m2Version: Swift.String
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
extension M2Kit.M2API { @_Concurrency.MainActor public struct M2HTTP {
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
public typealias Body = Swift.Never @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public typealias Coordinator = Swift.Void @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
public typealias UIViewControllerType = M2Kit.M2WebVC @_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isEnable: Swift.Bool {
get
}
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @_Concurrency.MainActor public struct M2Image {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2K {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
extension M2Kit.M2Utils { @_Concurrency.MainActor public struct M2Log {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Musi {
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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 { @_Concurrency.MainActor public struct M2NetMonitor {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor public func stop()
}
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStations(title: Swift.String, token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topStations(token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForRadio() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listStationsByGenres(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func stationInfo(station: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcasts(title: Swift.String, token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listEpisodesOfPodcast(podcast: [Swift.AnyHashable : Any], token: Swift.String?) async -> (episodes: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topPodcasts(token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForPodcast() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listPodcastsByGenre(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func podcastInfo(podcast: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlay(station: [Swift.AnyHashable : Any]) async -> Swift.String?
@_Concurrency.MainActor public static func getLinkPlay(episode: [Swift.AnyHashable : Any]) async -> Swift.String?
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -369,58 +868,91 @@ extension M2Kit.M2Utils {
} }
@objc deinit @objc deinit
} }
public struct M2Radio { public enum M2VideoStatus {
} case none
extension M2Kit.M2Radio { case queueing
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) case loading
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] case done
public static func changeRadioCountryCode(_ code: Swift.String) public static func == (a: M2Kit.M2VideoStatus, b: M2Kit.M2VideoStatus) -> Swift.Bool
public static func getCurrentRadioCountryCode() -> Swift.String public func hash(into hasher: inout Swift.Hasher)
} public var hashValue: Swift.Int {
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)
} }
@_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func workFor(trackID: Swift.String)
@_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let workForBeginNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
@_Concurrency.MainActor public static func checkStatus(trackID: Swift.String) -> M2Kit.M2VideoStatus
@_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static var countryCode: Swift.String {
get
}
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
}
extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
@_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never
public typealias Coordinator = Swift.Void
public typealias UIViewControllerType = M2Kit.M2WebVC
}
public enum M2YTIDType : Swift.String {
case video
case playlist
public init?(rawValue: Swift.String)
public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
}
@_Concurrency.MainActor public struct M2YT {
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2VideoStatus : Swift.Equatable {}
extension M2Kit.M2VideoStatus : Swift.Hashable {}
extension M2Kit.M2Utils : Swift.Sendable {}
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 {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

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

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>25F71</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.31</string>
<key>CFBundleSupportedPlatforms</key> <key>CFBundleSupportedPlatforms</key>
<array> <array>
<string>MacOSX</string> <string>MacOSX</string>
@ -27,21 +27,21 @@
<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>25F70</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.5</string>
<key>DTSDKBuild</key> <key>DTSDKBuild</key>
<string>24F74</string> <string>25F70</string>
<key>DTSDKName</key> <key>DTSDKName</key>
<string>macosx15.5</string> <string>macosx26.5</string>
<key>DTXcode</key> <key>DTXcode</key>
<string>1640</string> <string>2650</string>
<key>DTXcodeBuild</key> <key>DTXcodeBuild</key>
<string>16F6</string> <string>17F42</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>12.0</string> <string>13.0</string>
<key>UIDeviceFamily</key> <key>UIDeviceFamily</key>
<array> <array>
<integer>2</integer> <integer>2</integer>

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
#ifndef M2KIT_SWIFT_H #ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H #define M2KIT_SWIFT_H
#pragma clang diagnostic push #pragma clang diagnostic push
@ -26,7 +26,7 @@
#pragma clang diagnostic ignored "-Wauto-import" #pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__) #if defined(__OBJC__)
#include <Foundation/Foundation.h> #include <Foundation/Foundation.h>
#endif #endif // defined(__OBJC__)
#if defined(__cplusplus) #if defined(__cplusplus)
#include <cstdint> #include <cstdint>
#include <cstddef> #include <cstddef>
@ -195,13 +195,32 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# endif # endif
#endif #endif
#if !defined(SWIFT_ENUM) #if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# if __has_feature(generalized_swift_name) # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
# else # else
# define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif # endif
#endif #endif
#if !defined(SWIFT_ENUM_TAG)
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# define SWIFT_ENUM_TAG enum
# else
# define SWIFT_ENUM_TAG
# endif
#endif
#if !defined(SWIFT_ENUM_FWD_DECL)
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type;
# else
# define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name;
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE) #if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable)) # define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif #endif
@ -211,6 +230,9 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#if !defined(SWIFT_AVAILABILITY) #if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif #endif
#if !defined(SWIFT_AVAILABILITY_DOMAIN)
# define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT) #if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif #endif
@ -276,6 +298,49 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# define SWIFT_IMPORT_STDLIB_SYMBOL # define SWIFT_IMPORT_STDLIB_SYMBOL
#endif #endif
#endif #endif
#if !__has_feature(nullability)
# define _Nonnull
# define _Nullable
# define _Null_unspecified
#elif !defined(__OBJC__)
# pragma clang diagnostic ignored "-Wnullability-extension"
#endif
#if !__has_feature(nullability_nullable_result)
# define _Nullable_result _Nullable
#endif
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="M2Kit",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__cplusplus)
extern "C" {
#endif
#if defined(__cplusplus)
} // extern "C"
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__OBJC__) #if defined(__OBJC__)
#if __has_feature(objc_modules) #if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header") #if __has_warning("-Watimport-in-framework-header")
@ -284,7 +349,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
@import UIKit; @import UIKit;
#endif #endif
#endif #endif // defined(__OBJC__)
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg" #pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute") #if __has_warning("-Wpragma-clang-attribute")
@ -314,7 +379,7 @@ SWIFT_CLASS("_TtC5M2Kit7M2WebVC")
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end @end
#endif #endif // defined(__OBJC__)
#if __has_attribute(external_source_symbol) #if __has_attribute(external_source_symbol)
# pragma clang attribute pop # pragma clang attribute pop
#endif #endif
@ -324,7 +389,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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
#ifndef M2KIT_SWIFT_H #ifndef M2KIT_SWIFT_H
#define M2KIT_SWIFT_H #define M2KIT_SWIFT_H
#pragma clang diagnostic push #pragma clang diagnostic push
@ -350,7 +415,7 @@ SWIFT_CLASS("_TtC5M2Kit7M2WebVC")
#pragma clang diagnostic ignored "-Wauto-import" #pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__) #if defined(__OBJC__)
#include <Foundation/Foundation.h> #include <Foundation/Foundation.h>
#endif #endif // defined(__OBJC__)
#if defined(__cplusplus) #if defined(__cplusplus)
#include <cstdint> #include <cstdint>
#include <cstddef> #include <cstddef>
@ -519,13 +584,32 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# endif # endif
#endif #endif
#if !defined(SWIFT_ENUM) #if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# if __has_feature(generalized_swift_name) # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
# else # else
# define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif # endif
#endif #endif
#if !defined(SWIFT_ENUM_TAG)
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# define SWIFT_ENUM_TAG enum
# else
# define SWIFT_ENUM_TAG
# endif
#endif
#if !defined(SWIFT_ENUM_FWD_DECL)
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
# define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type;
# else
# define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name;
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE) #if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable)) # define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif #endif
@ -535,6 +619,9 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#if !defined(SWIFT_AVAILABILITY) #if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif #endif
#if !defined(SWIFT_AVAILABILITY_DOMAIN)
# define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT) #if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif #endif
@ -600,6 +687,49 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# define SWIFT_IMPORT_STDLIB_SYMBOL # define SWIFT_IMPORT_STDLIB_SYMBOL
#endif #endif
#endif #endif
#if !__has_feature(nullability)
# define _Nonnull
# define _Nullable
# define _Null_unspecified
#elif !defined(__OBJC__)
# pragma clang diagnostic ignored "-Wnullability-extension"
#endif
#if !__has_feature(nullability_nullable_result)
# define _Nullable_result _Nullable
#endif
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="M2Kit",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__cplusplus)
extern "C" {
#endif
#if defined(__cplusplus)
} // extern "C"
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__OBJC__) #if defined(__OBJC__)
#if __has_feature(objc_modules) #if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header") #if __has_warning("-Watimport-in-framework-header")
@ -608,7 +738,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
@import UIKit; @import UIKit;
#endif #endif
#endif #endif // defined(__OBJC__)
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg" #pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute") #if __has_warning("-Wpragma-clang-attribute")
@ -638,7 +768,7 @@ SWIFT_CLASS("_TtC5M2Kit7M2WebVC")
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end @end
#endif #endif // defined(__OBJC__)
#if __has_attribute(external_source_symbol) #if __has_attribute(external_source_symbol)
# pragma clang attribute pop # pragma clang attribute pop
#endif #endif

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
// 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-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -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.3.2
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,23 +15,585 @@ 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 { public init?(rawValue: Swift.Int)
public static var countryCode: Swift.String { 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 struct M2K { public enum Type : Swift.Int {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) case number
case string
case bool
case array
case dictionary
case null
case unknown
public init?(rawValue: Swift.Int)
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 {
public init?(rawValue: Any)
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
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 {
public var array: [M2Kit.JSON]? {
get
}
public var arrayValue: [M2Kit.JSON] {
get
}
public var arrayObject: [Any]? {
get
set
}
}
extension M2Kit.JSON {
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
}
extension M2Kit.JSON {
public var bool: Swift.Bool? {
get
set
}
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
public var string: Swift.String? {
get
set
}
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
public var number: Foundation.NSNumber? {
get
set
}
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
public var null: Foundation.NSNull? {
get
set
}
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
public var url: Foundation.URL? {
get
set
}
}
extension M2Kit.JSON {
public var double: Swift.Double? {
get
set
}
public var doubleValue: Swift.Double {
get
set
}
public var float: Swift.Float? {
get
set
}
public var floatValue: Swift.Float {
get
set
}
public var int: Swift.Int? {
get
set
}
public var intValue: Swift.Int {
get
set
}
public var uInt: Swift.UInt? {
get
set
}
public var uIntValue: Swift.UInt {
get
set
}
public var int8: Swift.Int8? {
get
set
}
public var int8Value: Swift.Int8 {
get
set
}
public var uInt8: Swift.UInt8? {
get
set
}
public var uInt8Value: Swift.UInt8 {
get
set
}
public var int16: Swift.Int16? {
get
set
}
public var int16Value: Swift.Int16 {
get
set
}
public var uInt16: Swift.UInt16? {
get
set
}
public var uInt16Value: Swift.UInt16 {
get
set
}
public var int32: Swift.Int32? {
get
set
}
public var int32Value: Swift.Int32 {
get
set
}
public var uInt32: Swift.UInt32? {
get
set
}
public var uInt32Value: Swift.UInt32 {
get
set
}
public var int64: Swift.Int64? {
get
set
}
public var int64Value: Swift.Int64 {
get
set
}
public var uInt64: Swift.UInt64? {
get
set
}
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
}
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: 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 {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_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, metadata: [Swift.AnyHashable : Any]?)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2HTTP {
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isEnable: Swift.Bool {
get
}
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
}
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Musi {
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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
}
}
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor public func stop()
}
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStations(title: Swift.String, token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topStations(token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForRadio() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listStationsByGenres(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func stationInfo(station: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcasts(title: Swift.String, token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listEpisodesOfPodcast(podcast: [Swift.AnyHashable : Any], token: Swift.String?) async -> (episodes: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topPodcasts(token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForPodcast() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listPodcastsByGenre(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func podcastInfo(podcast: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlay(station: [Swift.AnyHashable : Any]) async -> Swift.String?
@_Concurrency.MainActor public static func getLinkPlay(episode: [Swift.AnyHashable : Any]) async -> Swift.String?
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -304,123 +868,91 @@ public struct M2K {
} }
@objc deinit @objc deinit
} }
public struct M2Image { public enum M2VideoStatus {
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) case none
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? case queueing
} case loading
public struct M2Radio { case done
} public static func == (a: M2Kit.M2VideoStatus, b: M2Kit.M2VideoStatus) -> Swift.Bool
extension M2Kit.M2Radio { public func hash(into hasher: inout Swift.Hasher)
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) public var hashValue: Swift.Int {
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 { @_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func workFor(trackID: 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 let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static let workForBeginNotification: Foundation.Notification.Name
@_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 checkExisted(trackID: Swift.String) -> Swift.Bool
@_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 checkStatus(trackID: Swift.String) -> M2Kit.M2VideoStatus
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
extension M2Kit.M2API { extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static var countryCode: Swift.String {
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] get
@_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.M2Utils {
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
extension M2Kit.M2API { extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
} }
public struct M2API { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
} @_Concurrency.MainActor public init()
extension M2Kit.M2API {
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) @_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never public typealias Body = Swift.Never
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) public init?(rawValue: Swift.String)
@objc deinit public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
} }
@_Concurrency.MainActor public struct M2YT {
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2VideoStatus : Swift.Equatable {}
extension M2Kit.M2VideoStatus : Swift.Hashable {}
extension M2Kit.M2Utils : Swift.Sendable {}
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 {}
extension M2Kit.M2YT : Swift.Sendable {}

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
// 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-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -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.3.2
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,23 +15,585 @@ 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 { public init?(rawValue: Swift.Int)
public static var countryCode: Swift.String { 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 struct M2K { public enum Type : Swift.Int {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) case number
case string
case bool
case array
case dictionary
case null
case unknown
public init?(rawValue: Swift.Int)
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 {
public init?(rawValue: Any)
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
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 {
public var array: [M2Kit.JSON]? {
get
}
public var arrayValue: [M2Kit.JSON] {
get
}
public var arrayObject: [Any]? {
get
set
}
}
extension M2Kit.JSON {
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
}
extension M2Kit.JSON {
public var bool: Swift.Bool? {
get
set
}
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
public var string: Swift.String? {
get
set
}
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
public var number: Foundation.NSNumber? {
get
set
}
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
public var null: Foundation.NSNull? {
get
set
}
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
public var url: Foundation.URL? {
get
set
}
}
extension M2Kit.JSON {
public var double: Swift.Double? {
get
set
}
public var doubleValue: Swift.Double {
get
set
}
public var float: Swift.Float? {
get
set
}
public var floatValue: Swift.Float {
get
set
}
public var int: Swift.Int? {
get
set
}
public var intValue: Swift.Int {
get
set
}
public var uInt: Swift.UInt? {
get
set
}
public var uIntValue: Swift.UInt {
get
set
}
public var int8: Swift.Int8? {
get
set
}
public var int8Value: Swift.Int8 {
get
set
}
public var uInt8: Swift.UInt8? {
get
set
}
public var uInt8Value: Swift.UInt8 {
get
set
}
public var int16: Swift.Int16? {
get
set
}
public var int16Value: Swift.Int16 {
get
set
}
public var uInt16: Swift.UInt16? {
get
set
}
public var uInt16Value: Swift.UInt16 {
get
set
}
public var int32: Swift.Int32? {
get
set
}
public var int32Value: Swift.Int32 {
get
set
}
public var uInt32: Swift.UInt32? {
get
set
}
public var uInt32Value: Swift.UInt32 {
get
set
}
public var int64: Swift.Int64? {
get
set
}
public var int64Value: Swift.Int64 {
get
set
}
public var uInt64: Swift.UInt64? {
get
set
}
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
}
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: 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 {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_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, metadata: [Swift.AnyHashable : Any]?)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2HTTP {
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isEnable: Swift.Bool {
get
}
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
}
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Musi {
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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
}
}
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor public func stop()
}
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStations(title: Swift.String, token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topStations(token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForRadio() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listStationsByGenres(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func stationInfo(station: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcasts(title: Swift.String, token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listEpisodesOfPodcast(podcast: [Swift.AnyHashable : Any], token: Swift.String?) async -> (episodes: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topPodcasts(token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForPodcast() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listPodcastsByGenre(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func podcastInfo(podcast: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlay(station: [Swift.AnyHashable : Any]) async -> Swift.String?
@_Concurrency.MainActor public static func getLinkPlay(episode: [Swift.AnyHashable : Any]) async -> Swift.String?
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -304,123 +868,91 @@ public struct M2K {
} }
@objc deinit @objc deinit
} }
public struct M2Image { public enum M2VideoStatus {
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) case none
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? case queueing
} case loading
public struct M2Radio { case done
} public static func == (a: M2Kit.M2VideoStatus, b: M2Kit.M2VideoStatus) -> Swift.Bool
extension M2Kit.M2Radio { public func hash(into hasher: inout Swift.Hasher)
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) public var hashValue: Swift.Int {
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 { @_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func workFor(trackID: 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 let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static let workForBeginNotification: Foundation.Notification.Name
@_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 checkExisted(trackID: Swift.String) -> Swift.Bool
@_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 checkStatus(trackID: Swift.String) -> M2Kit.M2VideoStatus
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
extension M2Kit.M2API { extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static var countryCode: Swift.String {
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] get
@_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.M2Utils {
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
extension M2Kit.M2API { extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
} }
public struct M2API { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
} @_Concurrency.MainActor public init()
extension M2Kit.M2API {
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) @_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never public typealias Body = Swift.Never
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) public init?(rawValue: Swift.String)
@objc deinit public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
} }
@_Concurrency.MainActor public struct M2YT {
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2VideoStatus : Swift.Equatable {}
extension M2Kit.M2VideoStatus : Swift.Hashable {}
extension M2Kit.M2Utils : Swift.Sendable {}
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 {}
extension M2Kit.M2YT : Swift.Sendable {}

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
// 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-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -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.3.2
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,23 +15,585 @@ 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 { public init?(rawValue: Swift.Int)
public static var countryCode: Swift.String { 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 struct M2K { public enum Type : Swift.Int {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) case number
case string
case bool
case array
case dictionary
case null
case unknown
public init?(rawValue: Swift.Int)
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 {
public init?(rawValue: Any)
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
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 {
public var array: [M2Kit.JSON]? {
get
}
public var arrayValue: [M2Kit.JSON] {
get
}
public var arrayObject: [Any]? {
get
set
}
}
extension M2Kit.JSON {
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
}
extension M2Kit.JSON {
public var bool: Swift.Bool? {
get
set
}
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
public var string: Swift.String? {
get
set
}
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
public var number: Foundation.NSNumber? {
get
set
}
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
public var null: Foundation.NSNull? {
get
set
}
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
public var url: Foundation.URL? {
get
set
}
}
extension M2Kit.JSON {
public var double: Swift.Double? {
get
set
}
public var doubleValue: Swift.Double {
get
set
}
public var float: Swift.Float? {
get
set
}
public var floatValue: Swift.Float {
get
set
}
public var int: Swift.Int? {
get
set
}
public var intValue: Swift.Int {
get
set
}
public var uInt: Swift.UInt? {
get
set
}
public var uIntValue: Swift.UInt {
get
set
}
public var int8: Swift.Int8? {
get
set
}
public var int8Value: Swift.Int8 {
get
set
}
public var uInt8: Swift.UInt8? {
get
set
}
public var uInt8Value: Swift.UInt8 {
get
set
}
public var int16: Swift.Int16? {
get
set
}
public var int16Value: Swift.Int16 {
get
set
}
public var uInt16: Swift.UInt16? {
get
set
}
public var uInt16Value: Swift.UInt16 {
get
set
}
public var int32: Swift.Int32? {
get
set
}
public var int32Value: Swift.Int32 {
get
set
}
public var uInt32: Swift.UInt32? {
get
set
}
public var uInt32Value: Swift.UInt32 {
get
set
}
public var int64: Swift.Int64? {
get
set
}
public var int64Value: Swift.Int64 {
get
set
}
public var uInt64: Swift.UInt64? {
get
set
}
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
}
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: 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 {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_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, metadata: [Swift.AnyHashable : Any]?)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2HTTP {
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isEnable: Swift.Bool {
get
}
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
}
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Musi {
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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
}
}
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor public func stop()
}
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStations(title: Swift.String, token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topStations(token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForRadio() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listStationsByGenres(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func stationInfo(station: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcasts(title: Swift.String, token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listEpisodesOfPodcast(podcast: [Swift.AnyHashable : Any], token: Swift.String?) async -> (episodes: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topPodcasts(token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForPodcast() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listPodcastsByGenre(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func podcastInfo(podcast: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlay(station: [Swift.AnyHashable : Any]) async -> Swift.String?
@_Concurrency.MainActor public static func getLinkPlay(episode: [Swift.AnyHashable : Any]) async -> Swift.String?
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -304,123 +868,91 @@ public struct M2K {
} }
@objc deinit @objc deinit
} }
public struct M2Image { public enum M2VideoStatus {
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) case none
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? case queueing
} case loading
public struct M2Radio { case done
} public static func == (a: M2Kit.M2VideoStatus, b: M2Kit.M2VideoStatus) -> Swift.Bool
extension M2Kit.M2Radio { public func hash(into hasher: inout Swift.Hasher)
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) public var hashValue: Swift.Int {
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 { @_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func workFor(trackID: 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 let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static let workForBeginNotification: Foundation.Notification.Name
@_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 checkExisted(trackID: Swift.String) -> Swift.Bool
@_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 checkStatus(trackID: Swift.String) -> M2Kit.M2VideoStatus
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
extension M2Kit.M2API { extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static var countryCode: Swift.String {
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] get
@_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.M2Utils {
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
extension M2Kit.M2API { extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
} }
public struct M2API { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
} @_Concurrency.MainActor public init()
extension M2Kit.M2API {
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) @_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never public typealias Body = Swift.Never
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) public init?(rawValue: Swift.String)
@objc deinit public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
} }
@_Concurrency.MainActor public struct M2YT {
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2VideoStatus : Swift.Equatable {}
extension M2Kit.M2VideoStatus : Swift.Hashable {}
extension M2Kit.M2Utils : Swift.Sendable {}
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 {}
extension M2Kit.M2YT : Swift.Sendable {}

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.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
// 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-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -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.3.2
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,23 +15,585 @@ 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 { public init?(rawValue: Swift.Int)
public static var countryCode: Swift.String { 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 struct M2K { public enum Type : Swift.Int {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) case number
case string
case bool
case array
case dictionary
case null
case unknown
public init?(rawValue: Swift.Int)
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 {
public init?(rawValue: Any)
public var rawValue: Any {
get
}
public func rawData(options opt: Foundation.JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Foundation.Data
public func rawString(_ encoding: Swift.String.Encoding = .utf8, options opt: Foundation.JSONSerialization.WritingOptions = .prettyPrinted) -> Swift.String?
public func rawString(_ options: [M2Kit.writingOptionsKeys : Any]) -> Swift.String?
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 {
public var array: [M2Kit.JSON]? {
get
}
public var arrayValue: [M2Kit.JSON] {
get
}
public var arrayObject: [Any]? {
get
set
}
}
extension M2Kit.JSON {
public var dictionary: [Swift.String : M2Kit.JSON]? {
get
}
public var dictionaryValue: [Swift.String : M2Kit.JSON] {
get
}
public var dictionaryObject: [Swift.String : Any]? {
get
set
}
}
extension M2Kit.JSON {
public var bool: Swift.Bool? {
get
set
}
public var boolValue: Swift.Bool {
get
set
}
}
extension M2Kit.JSON {
public var string: Swift.String? {
get
set
}
public var stringValue: Swift.String {
get
set
}
}
extension M2Kit.JSON {
public var number: Foundation.NSNumber? {
get
set
}
public var numberValue: Foundation.NSNumber {
get
set
}
}
extension M2Kit.JSON {
public var null: Foundation.NSNull? {
get
set
}
public func exists() -> Swift.Bool
}
extension M2Kit.JSON {
public var url: Foundation.URL? {
get
set
}
}
extension M2Kit.JSON {
public var double: Swift.Double? {
get
set
}
public var doubleValue: Swift.Double {
get
set
}
public var float: Swift.Float? {
get
set
}
public var floatValue: Swift.Float {
get
set
}
public var int: Swift.Int? {
get
set
}
public var intValue: Swift.Int {
get
set
}
public var uInt: Swift.UInt? {
get
set
}
public var uIntValue: Swift.UInt {
get
set
}
public var int8: Swift.Int8? {
get
set
}
public var int8Value: Swift.Int8 {
get
set
}
public var uInt8: Swift.UInt8? {
get
set
}
public var uInt8Value: Swift.UInt8 {
get
set
}
public var int16: Swift.Int16? {
get
set
}
public var int16Value: Swift.Int16 {
get
set
}
public var uInt16: Swift.UInt16? {
get
set
}
public var uInt16Value: Swift.UInt16 {
get
set
}
public var int32: Swift.Int32? {
get
set
}
public var int32Value: Swift.Int32 {
get
set
}
public var uInt32: Swift.UInt32? {
get
set
}
public var uInt32Value: Swift.UInt32 {
get
set
}
public var int64: Swift.Int64? {
get
set
}
public var int64Value: Swift.Int64 {
get
set
}
public var uInt64: Swift.UInt64? {
get
set
}
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
}
@_Concurrency.MainActor public struct M2API {
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytTrendingEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@available(*, deprecated, message: "Use ytArtistsEx(countrycode:result:) instead.")
@_Concurrency.MainActor public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
@_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
@_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func getVideosOfChannel(channelId: 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 {
@available(*, deprecated, message: "Use ytSongs(countrycode) instead.")
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytMusicVideosEx(countrycode) instead.")
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytTrendingEx(countrycode) instead.")
@_Concurrency.MainActor public static func trendingVideos() async -> [[Swift.AnyHashable : Any]]
@available(*, deprecated, message: "Use ytArtistsEx(countrycode) instead.")
@_Concurrency.MainActor public static func topChannels() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)]
@available(*, deprecated, message: "Old API, not used.")
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_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, metadata: [Swift.AnyHashable : Any]?)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbMusicCategoryWW() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbGlobalTrending() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbTopArtists() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func kworbLocalTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountries() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytTrending(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytMusicVideos(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytSongs(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtists(countryCode: Swift.String) async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func ytArtistDetail(artistId: Swift.String) async -> [[Swift.AnyHashable : Any]]
}
@_Concurrency.MainActor public struct M2Backup {
@_Concurrency.MainActor public static var backupCode: Swift.String {
get
}
@_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
@_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
@_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
}
public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
@_Concurrency.MainActor public struct M2Feedback {
@_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2HTTP {
@_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
@_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
@_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
}
@_Concurrency.MainActor public struct M2IAP {
@_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func setup(iapId: Swift.String)
@_Concurrency.MainActor public static var isEnable: Swift.Bool {
get
}
@_Concurrency.MainActor public static var isProVersion: Swift.Bool {
get
}
@_Concurrency.MainActor public static var priceProVersion: Swift.String? {
get
}
@_Concurrency.MainActor public static func purchaseProVersion()
@_Concurrency.MainActor public static func restorePurchase()
}
@_Concurrency.MainActor public struct M2Image {
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
}
@_Concurrency.MainActor public struct M2K {
@_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Log {
@_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
@_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
}
@_Concurrency.MainActor public struct M2Musi {
@_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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
}
}
@_Concurrency.MainActor public struct M2NetMonitor {
@_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public var isConnected: Swift.Bool {
get
}
@_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor public func stop()
}
@_Concurrency.MainActor public struct M2Radio {
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
@_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
@_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
@_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchStations(title: Swift.String, token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topStations(token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForRadio() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listStationsByGenres(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (stations: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func stationInfo(station: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func searchPodcasts(title: Swift.String, token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listEpisodesOfPodcast(podcast: [Swift.AnyHashable : Any], token: Swift.String?) async -> (episodes: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func topPodcasts(token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func listGenresForPodcast() async -> [[Swift.AnyHashable : Any]]
@_Concurrency.MainActor public static func listPodcastsByGenre(genre: [Swift.AnyHashable : Any], token: Swift.String?) async -> (podcasts: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_Concurrency.MainActor public static func podcastInfo(podcast: [Swift.AnyHashable : Any]) async -> Swift.String?
}
extension M2Kit.M2Radio {
@_Concurrency.MainActor public static func getLinkPlay(station: [Swift.AnyHashable : Any]) async -> Swift.String?
@_Concurrency.MainActor public static func getLinkPlay(episode: [Swift.AnyHashable : Any]) async -> Swift.String?
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
public static var option10: Swift.String { public static var option10: Swift.String {
@ -304,123 +868,91 @@ public struct M2K {
} }
@objc deinit @objc deinit
} }
public struct M2Image { public enum M2VideoStatus {
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) case none
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? case queueing
} case loading
public struct M2Radio { case done
} public static func == (a: M2Kit.M2VideoStatus, b: M2Kit.M2VideoStatus) -> Swift.Bool
extension M2Kit.M2Radio { public func hash(into hasher: inout Swift.Hasher)
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) public var hashValue: Swift.Int {
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 { @_Concurrency.MainActor public struct M2Utils {
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func workFor(trackID: 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 let workForChangedNotification: Foundation.Notification.Name
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static let workForBeginNotification: Foundation.Notification.Name
@_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 checkExisted(trackID: Swift.String) -> Swift.Bool
@_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 checkStatus(trackID: Swift.String) -> M2Kit.M2VideoStatus
@_Concurrency.MainActor public static func getAllVideosOfPlaylist(_ playlistId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
@_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
extension M2Kit.M2API { extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func topSongs() async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static var countryCode: Swift.String {
@_Concurrency.MainActor public static func topVideos() async -> [[Swift.AnyHashable : Any]] get
@_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.M2Utils {
@_Concurrency.MainActor public static func listCategory() async -> [(category_id: Swift.String, title: Swift.String)] @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func getVideosOfCategory(categoryId: Swift.String) async -> [[Swift.AnyHashable : Any]] @_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
extension M2Kit.M2API { extension M2Kit.M2Utils {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
@_Concurrency.MainActor public static func getLocation() async -> Swift.String?
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
} }
public struct M2API { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
} @_Concurrency.MainActor public init()
extension M2Kit.M2API {
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
}
extension M2Kit.M2API {
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
}
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init()
@_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC @_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: M2Kit.M2WebView.Context) -> M2Kit.M2WebVC
@_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context) @_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: M2Kit.M2WebVC, context: M2Kit.M2WebView.Context)
public typealias Body = Swift.Never public typealias Body = Swift.Never
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) public init?(rawValue: Swift.String)
@objc deinit public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
} }
@_Concurrency.MainActor public struct M2YT {
@_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
@_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
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.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2IAP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2VideoStatus : Swift.Equatable {}
extension M2Kit.M2VideoStatus : Swift.Hashable {}
extension M2Kit.M2Utils : Swift.Sendable {}
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 {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

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

View File

@ -6,189 +6,141 @@
<dict> <dict>
<key>Headers/M2Kit-Swift.h</key> <key>Headers/M2Kit-Swift.h</key>
<data> <data>
0DzI04NNpL+f+PpBMmGt2ucfr08= kmG9FyD9DX6qXcD4xPSiHdPdJno=
</data> </data>
<key>Info.plist</key> <key>Info.plist</key>
<data> <data>
gmexQA1TE3E+n/WVnF/hjQUmTjs= EMYicB5CBdivFU3Y0T9s7xPPwr4=
</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= df23PfpTQPhy7qP/3Iou7NwQlOA=
</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= 69cx8kTHpARVxvo+NQszVsPlx8c=
</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= S9OsWJUQD1hEJGWTQaX8blYkrGc=
</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= 69cx8kTHpARVxvo+NQszVsPlx8c=
</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= 5s1NRDSm4TOCMggepVAVIpamw28=
</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= df23PfpTQPhy7qP/3Iou7NwQlOA=
</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= FH7X1wHD6tr9RW8NrE8FXk8/OIE=
</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= jK7v8hdpcUDe+oT6qlP+LLeC6IA=
</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= FH7X1wHD6tr9RW8NrE8FXk8/OIE=
</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= hf4rndbZGVvg+TZB+Uh8j/8xvBA=
</data> </data>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<data> <data>
n8UZhGfofoCUF2Y9arJmb3ut22Y= qXD3pnLRLPT3qWO+Wr+SjQp8yNw=
</data> </data>
</dict> </dict>
<key>files2</key> <key>files2</key>
<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= 3evUDBP/zWRzYV+plW5UscRxYX/JefrPAAkcJBYkCC0=
</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= lFeW/v9pf8eVuDfBvTkTdlW/c90VyMnVZ1GhSaa8BfY=
</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= s2Ja/HhOhgOfuR9TxXlfFDuW8LXuG16MLTcxBHnChOE=
</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= uAT9a3g3MJTMtQ7sftLak3vUNNfZf+A85/ZxU1IXW/g=
</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= s2Ja/HhOhgOfuR9TxXlfFDuW8LXuG16MLTcxBHnChOE=
</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= 6Y4DqTbACSNZhQRXh89bpBULY7qo//OFWn40XDlmDQk=
</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= lFeW/v9pf8eVuDfBvTkTdlW/c90VyMnVZ1GhSaa8BfY=
</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= 9SLm6NaQ/Z1oBsBqSyL6VueWxBePTuvIs1etyx0PAuY=
</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= IqxkHSi13uvRbjPTExbZYmIViVLJRKvDO1oi2+WA/D4=
</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= 9SLm6NaQ/Z1oBsBqSyL6VueWxBePTuvIs1etyx0PAuY=
</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= 25D2ylV/APsOTA9ls1v235Uom8wUjHCcHJdquWFGj1M=
</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= UMwtPXwWD0/VtYisYFVpQZPhMH1Ms3EaM5hY0M6giKY=
</data> </data>
</dict> </dict>
</dict> </dict>

View File

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