29 Commits

Author SHA1 Message Date
64da58b93a 5.35 2026-06-26 16:44:13 +07:00
9414c887e4 5.34 2026-06-24 17:56:03 +07:00
9ba9c99815 5.33 2026-05-29 11:24:43 +07:00
39728313b6 5.32 2026-05-26 14:54:41 +07:00
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
36 changed files with 79972 additions and 8705 deletions

View File

@ -4,23 +4,6 @@
<dict> <dict>
<key>AvailableLibraries</key> <key>AvailableLibraries</key>
<array> <array>
<dict>
<key>BinaryPath</key>
<string>M2Kit.framework/Versions/A/M2Kit</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-maccatalyst</string>
<key>LibraryPath</key>
<string>M2Kit.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>maccatalyst</string>
</dict>
<dict> <dict>
<key>BinaryPath</key> <key>BinaryPath</key>
<string>M2Kit.framework/M2Kit</string> <string>M2Kit.framework/M2Kit</string>
@ -52,6 +35,23 @@
<key>SupportedPlatformVariant</key> <key>SupportedPlatformVariant</key>
<string>simulator</string> <string>simulator</string>
</dict> </dict>
<dict>
<key>BinaryPath</key>
<string>M2Kit.framework/Versions/A/M2Kit</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-maccatalyst</string>
<key>LibraryPath</key>
<string>M2Kit.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>maccatalyst</string>
</dict>
</array> </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.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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,7 +1,8 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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 -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2
import AVFoundation
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
@ -15,138 +16,515 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2API { 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 { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[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) @available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
#endif @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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 getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @available(*, deprecated, message: "Old API, not used.")
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) }
#endif extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_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?)
#endif
@_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 {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String? @_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
} }
public struct M2Backup { extension M2Kit.M2API {
public static var backupCode: Swift.String { @_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 get
} }
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
} }
public let m2Version: Swift.String public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback { @_Concurrency.MainActor public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2HTTP { @_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
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?
#endif @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2IAP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
#endif @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
#endif @_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()
} }
public struct M2K { @_Concurrency.MainActor public struct M2Image {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_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?
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2K {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) }
#endif @_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 { public enum M2NetConnecttionType {
case wifi case wifi
@ -159,64 +537,77 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_hasMissingDesignatedInitializers @_Concurrency.MainActor final public class M2NetMonitor : Foundation.ObservableObject {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static let shared: M2Kit.M2NetMonitor
public var isConnected: Swift.Bool { @Combine.Published<Swift.Bool> @_projectedValueProperty($isConnected) @_Concurrency.MainActor final public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor final public var $isConnected: Combine.Published<Swift.Bool>.Publisher {
get get
} }
public func stop() @Combine.Published<M2Kit.M2NetConnecttionType> @_projectedValueProperty($connectionType) @_Concurrency.MainActor final public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor final public var $connectionType: Combine.Published<M2Kit.M2NetConnecttionType>.Publisher {
get
}
@Combine.Published<Swift.Bool> @_projectedValueProperty($isReady) @_Concurrency.MainActor final public var isReady: Swift.Bool {
get
}
@_Concurrency.MainActor final public var $isReady: Combine.Published<Swift.Bool>.Publisher {
get
}
public typealias ObjectWillChangePublisher = Combine.ObservableObjectPublisher
@objc deinit
} }
public struct M2Radio { @_Concurrency.MainActor public struct M2Radio {
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] @_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String) @_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String @_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor 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 topStationsEx(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)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
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 listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
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)
#endif }
#if compiler(>=5.3) && $NonescapableTypes extension M2Kit.M2Radio {
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
#endif }
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 {
@ -491,33 +882,47 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { public enum M2VideoStatus {
public static func workFor(trackID: Swift.String) case none
public static let workForChangedNotification: Foundation.Notification.Name case queueing
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case loading
public static func deleteDataOf(trackID: Swift.String) case done
public static func filePathOf(trackID: Swift.String) -> Swift.String 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
}
}
@_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
@_Concurrency.MainActor public static func enableWorkForInCellularNetwork(_ enable: Swift.Bool)
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static var countryCode: Swift.String {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2Utils {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
#if compiler(>=5.3) && $NonescapableTypes }
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
#endif @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit @objc deinit
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor 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
@ -527,25 +932,42 @@ extension M2Kit.M2Utils {
public enum M2YTIDType : Swift.String { public enum M2YTIDType : Swift.String {
case video case video
case playlist case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String) public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String public typealias RawValue = Swift.String
public var rawValue: Swift.String { public var rawValue: Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.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.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} 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.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {} extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {} extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,8 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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 -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2
import AVFoundation
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
@ -15,138 +16,515 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2API { 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 { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[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) @available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
#endif @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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 getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @available(*, deprecated, message: "Old API, not used.")
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) }
#endif extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_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?)
#endif
@_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 {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String? @_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
} }
public struct M2Backup { extension M2Kit.M2API {
public static var backupCode: Swift.String { @_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 get
} }
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
} }
public let m2Version: Swift.String public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback { @_Concurrency.MainActor public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2HTTP { @_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
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?
#endif @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2IAP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
#endif @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
#endif @_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()
} }
public struct M2K { @_Concurrency.MainActor public struct M2Image {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_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?
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2K {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) }
#endif @_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 { public enum M2NetConnecttionType {
case wifi case wifi
@ -159,64 +537,77 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_hasMissingDesignatedInitializers @_Concurrency.MainActor final public class M2NetMonitor : Foundation.ObservableObject {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static let shared: M2Kit.M2NetMonitor
public var isConnected: Swift.Bool { @Combine.Published<Swift.Bool> @_projectedValueProperty($isConnected) @_Concurrency.MainActor final public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor final public var $isConnected: Combine.Published<Swift.Bool>.Publisher {
get get
} }
public func stop() @Combine.Published<M2Kit.M2NetConnecttionType> @_projectedValueProperty($connectionType) @_Concurrency.MainActor final public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor final public var $connectionType: Combine.Published<M2Kit.M2NetConnecttionType>.Publisher {
get
}
@Combine.Published<Swift.Bool> @_projectedValueProperty($isReady) @_Concurrency.MainActor final public var isReady: Swift.Bool {
get
}
@_Concurrency.MainActor final public var $isReady: Combine.Published<Swift.Bool>.Publisher {
get
}
public typealias ObjectWillChangePublisher = Combine.ObservableObjectPublisher
@objc deinit
} }
public struct M2Radio { @_Concurrency.MainActor public struct M2Radio {
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] @_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String) @_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String @_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor 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 topStationsEx(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)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
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 listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
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)
#endif }
#if compiler(>=5.3) && $NonescapableTypes extension M2Kit.M2Radio {
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
#endif }
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 {
@ -491,33 +882,47 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { public enum M2VideoStatus {
public static func workFor(trackID: Swift.String) case none
public static let workForChangedNotification: Foundation.Notification.Name case queueing
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case loading
public static func deleteDataOf(trackID: Swift.String) case done
public static func filePathOf(trackID: Swift.String) -> Swift.String 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
}
}
@_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
@_Concurrency.MainActor public static func enableWorkForInCellularNetwork(_ enable: Swift.Bool)
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static var countryCode: Swift.String {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2Utils {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
#if compiler(>=5.3) && $NonescapableTypes }
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
#endif @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit @objc deinit
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor 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
@ -527,25 +932,42 @@ extension M2Kit.M2Utils {
public enum M2YTIDType : Swift.String { public enum M2YTIDType : Swift.String {
case video case video
case playlist case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String) public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String public typealias RawValue = Swift.String
public var rawValue: Swift.String { public var rawValue: Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.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.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} 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.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {} extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {} 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.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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,7 +1,8 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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 -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2
import AVFoundation
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
@ -15,138 +16,515 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2API { 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 { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[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) @available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
#endif @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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 getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @available(*, deprecated, message: "Old API, not used.")
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) }
#endif extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_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?)
#endif
@_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 {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String? @_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
} }
public struct M2Backup { extension M2Kit.M2API {
public static var backupCode: Swift.String { @_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 get
} }
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
} }
public let m2Version: Swift.String public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback { @_Concurrency.MainActor public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2HTTP { @_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
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?
#endif @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2IAP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
#endif @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
#endif @_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()
} }
public struct M2K { @_Concurrency.MainActor public struct M2Image {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_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?
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2K {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) }
#endif @_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 { public enum M2NetConnecttionType {
case wifi case wifi
@ -159,64 +537,77 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_hasMissingDesignatedInitializers @_Concurrency.MainActor final public class M2NetMonitor : Foundation.ObservableObject {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static let shared: M2Kit.M2NetMonitor
public var isConnected: Swift.Bool { @Combine.Published<Swift.Bool> @_projectedValueProperty($isConnected) @_Concurrency.MainActor final public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor final public var $isConnected: Combine.Published<Swift.Bool>.Publisher {
get get
} }
public func stop() @Combine.Published<M2Kit.M2NetConnecttionType> @_projectedValueProperty($connectionType) @_Concurrency.MainActor final public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor final public var $connectionType: Combine.Published<M2Kit.M2NetConnecttionType>.Publisher {
get
}
@Combine.Published<Swift.Bool> @_projectedValueProperty($isReady) @_Concurrency.MainActor final public var isReady: Swift.Bool {
get
}
@_Concurrency.MainActor final public var $isReady: Combine.Published<Swift.Bool>.Publisher {
get
}
public typealias ObjectWillChangePublisher = Combine.ObservableObjectPublisher
@objc deinit
} }
public struct M2Radio { @_Concurrency.MainActor public struct M2Radio {
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] @_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String) @_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String @_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor 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 topStationsEx(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)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
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 listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
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)
#endif }
#if compiler(>=5.3) && $NonescapableTypes extension M2Kit.M2Radio {
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
#endif }
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 {
@ -491,33 +882,47 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { public enum M2VideoStatus {
public static func workFor(trackID: Swift.String) case none
public static let workForChangedNotification: Foundation.Notification.Name case queueing
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case loading
public static func deleteDataOf(trackID: Swift.String) case done
public static func filePathOf(trackID: Swift.String) -> Swift.String 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
}
}
@_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
@_Concurrency.MainActor public static func enableWorkForInCellularNetwork(_ enable: Swift.Bool)
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static var countryCode: Swift.String {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2Utils {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
#if compiler(>=5.3) && $NonescapableTypes }
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
#endif @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit @objc deinit
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor 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
@ -527,25 +932,42 @@ extension M2Kit.M2Utils {
public enum M2YTIDType : Swift.String { public enum M2YTIDType : Swift.String {
case video case video
case playlist case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String) public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String public typealias RawValue = Swift.String
public var rawValue: Swift.String { public var rawValue: Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.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.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} 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.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {} extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {} extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,8 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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 -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2
import AVFoundation
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
@ -15,138 +16,515 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2API { 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 { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[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) @available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
#endif @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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 getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @available(*, deprecated, message: "Old API, not used.")
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) }
#endif extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_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?)
#endif
@_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 {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String? @_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
} }
public struct M2Backup { extension M2Kit.M2API {
public static var backupCode: Swift.String { @_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 get
} }
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
} }
public let m2Version: Swift.String public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback { @_Concurrency.MainActor public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2HTTP { @_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
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?
#endif @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2IAP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
#endif @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
#endif @_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()
} }
public struct M2K { @_Concurrency.MainActor public struct M2Image {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_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?
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2K {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) }
#endif @_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 { public enum M2NetConnecttionType {
case wifi case wifi
@ -159,64 +537,77 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_hasMissingDesignatedInitializers @_Concurrency.MainActor final public class M2NetMonitor : Foundation.ObservableObject {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static let shared: M2Kit.M2NetMonitor
public var isConnected: Swift.Bool { @Combine.Published<Swift.Bool> @_projectedValueProperty($isConnected) @_Concurrency.MainActor final public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor final public var $isConnected: Combine.Published<Swift.Bool>.Publisher {
get get
} }
public func stop() @Combine.Published<M2Kit.M2NetConnecttionType> @_projectedValueProperty($connectionType) @_Concurrency.MainActor final public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor final public var $connectionType: Combine.Published<M2Kit.M2NetConnecttionType>.Publisher {
get
}
@Combine.Published<Swift.Bool> @_projectedValueProperty($isReady) @_Concurrency.MainActor final public var isReady: Swift.Bool {
get
}
@_Concurrency.MainActor final public var $isReady: Combine.Published<Swift.Bool>.Publisher {
get
}
public typealias ObjectWillChangePublisher = Combine.ObservableObjectPublisher
@objc deinit
} }
public struct M2Radio { @_Concurrency.MainActor public struct M2Radio {
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] @_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String) @_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String @_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor 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 topStationsEx(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)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
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 listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
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)
#endif }
#if compiler(>=5.3) && $NonescapableTypes extension M2Kit.M2Radio {
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
#endif }
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 {
@ -491,33 +882,47 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { public enum M2VideoStatus {
public static func workFor(trackID: Swift.String) case none
public static let workForChangedNotification: Foundation.Notification.Name case queueing
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case loading
public static func deleteDataOf(trackID: Swift.String) case done
public static func filePathOf(trackID: Swift.String) -> Swift.String 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
}
}
@_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
@_Concurrency.MainActor public static func enableWorkForInCellularNetwork(_ enable: Swift.Bool)
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static var countryCode: Swift.String {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2Utils {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
#if compiler(>=5.3) && $NonescapableTypes }
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
#endif @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit @objc deinit
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor 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
@ -527,25 +932,42 @@ extension M2Kit.M2Utils {
public enum M2YTIDType : Swift.String { public enum M2YTIDType : Swift.String {
case video case video
case playlist case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String) public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String public typealias RawValue = Swift.String
public var rawValue: Swift.String { public var rawValue: Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.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.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} 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.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {} extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {} extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,8 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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 -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2
import AVFoundation
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
@ -15,138 +16,515 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2API { 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 { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[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) @available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
#endif @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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 getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @available(*, deprecated, message: "Old API, not used.")
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) }
#endif extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_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?)
#endif
@_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 {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String? @_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
} }
public struct M2Backup { extension M2Kit.M2API {
public static var backupCode: Swift.String { @_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 get
} }
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
} }
public let m2Version: Swift.String public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback { @_Concurrency.MainActor public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2HTTP { @_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
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?
#endif @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2IAP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
#endif @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
#endif @_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()
} }
public struct M2K { @_Concurrency.MainActor public struct M2Image {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_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?
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2K {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) }
#endif @_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 { public enum M2NetConnecttionType {
case wifi case wifi
@ -159,64 +537,77 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_hasMissingDesignatedInitializers @_Concurrency.MainActor final public class M2NetMonitor : Foundation.ObservableObject {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static let shared: M2Kit.M2NetMonitor
public var isConnected: Swift.Bool { @Combine.Published<Swift.Bool> @_projectedValueProperty($isConnected) @_Concurrency.MainActor final public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor final public var $isConnected: Combine.Published<Swift.Bool>.Publisher {
get get
} }
public func stop() @Combine.Published<M2Kit.M2NetConnecttionType> @_projectedValueProperty($connectionType) @_Concurrency.MainActor final public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor final public var $connectionType: Combine.Published<M2Kit.M2NetConnecttionType>.Publisher {
get
}
@Combine.Published<Swift.Bool> @_projectedValueProperty($isReady) @_Concurrency.MainActor final public var isReady: Swift.Bool {
get
}
@_Concurrency.MainActor final public var $isReady: Combine.Published<Swift.Bool>.Publisher {
get
}
public typealias ObjectWillChangePublisher = Combine.ObservableObjectPublisher
@objc deinit
} }
public struct M2Radio { @_Concurrency.MainActor public struct M2Radio {
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] @_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String) @_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String @_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor 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 topStationsEx(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)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
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 listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
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)
#endif }
#if compiler(>=5.3) && $NonescapableTypes extension M2Kit.M2Radio {
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
#endif }
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 {
@ -491,33 +882,47 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { public enum M2VideoStatus {
public static func workFor(trackID: Swift.String) case none
public static let workForChangedNotification: Foundation.Notification.Name case queueing
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case loading
public static func deleteDataOf(trackID: Swift.String) case done
public static func filePathOf(trackID: Swift.String) -> Swift.String 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
}
}
@_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
@_Concurrency.MainActor public static func enableWorkForInCellularNetwork(_ enable: Swift.Bool)
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static var countryCode: Swift.String {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2Utils {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
#if compiler(>=5.3) && $NonescapableTypes }
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
#endif @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit @objc deinit
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor 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
@ -527,25 +932,42 @@ extension M2Kit.M2Utils {
public enum M2YTIDType : Swift.String { public enum M2YTIDType : Swift.String {
case video case video
case playlist case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String) public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String public typealias RawValue = Swift.String
public var rawValue: Swift.String { public var rawValue: Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.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.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} 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.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {} extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {} extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,8 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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 -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2
import AVFoundation
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
@ -15,138 +16,515 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2API { 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 { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[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) @available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
#endif @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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 getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @available(*, deprecated, message: "Old API, not used.")
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) }
#endif extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_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?)
#endif
@_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 {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String? @_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
} }
public struct M2Backup { extension M2Kit.M2API {
public static var backupCode: Swift.String { @_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 get
} }
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
} }
public let m2Version: Swift.String public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback { @_Concurrency.MainActor public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2HTTP { @_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
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?
#endif @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2IAP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
#endif @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
#endif @_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()
} }
public struct M2K { @_Concurrency.MainActor public struct M2Image {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_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?
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2K {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) }
#endif @_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 { public enum M2NetConnecttionType {
case wifi case wifi
@ -159,64 +537,77 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_hasMissingDesignatedInitializers @_Concurrency.MainActor final public class M2NetMonitor : Foundation.ObservableObject {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static let shared: M2Kit.M2NetMonitor
public var isConnected: Swift.Bool { @Combine.Published<Swift.Bool> @_projectedValueProperty($isConnected) @_Concurrency.MainActor final public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor final public var $isConnected: Combine.Published<Swift.Bool>.Publisher {
get get
} }
public func stop() @Combine.Published<M2Kit.M2NetConnecttionType> @_projectedValueProperty($connectionType) @_Concurrency.MainActor final public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor final public var $connectionType: Combine.Published<M2Kit.M2NetConnecttionType>.Publisher {
get
}
@Combine.Published<Swift.Bool> @_projectedValueProperty($isReady) @_Concurrency.MainActor final public var isReady: Swift.Bool {
get
}
@_Concurrency.MainActor final public var $isReady: Combine.Published<Swift.Bool>.Publisher {
get
}
public typealias ObjectWillChangePublisher = Combine.ObservableObjectPublisher
@objc deinit
} }
public struct M2Radio { @_Concurrency.MainActor public struct M2Radio {
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] @_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String) @_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String @_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor 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 topStationsEx(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)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
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 listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
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)
#endif }
#if compiler(>=5.3) && $NonescapableTypes extension M2Kit.M2Radio {
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
#endif }
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 {
@ -491,33 +882,47 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { public enum M2VideoStatus {
public static func workFor(trackID: Swift.String) case none
public static let workForChangedNotification: Foundation.Notification.Name case queueing
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case loading
public static func deleteDataOf(trackID: Swift.String) case done
public static func filePathOf(trackID: Swift.String) -> Swift.String 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
}
}
@_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
@_Concurrency.MainActor public static func enableWorkForInCellularNetwork(_ enable: Swift.Bool)
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static var countryCode: Swift.String {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2Utils {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
#if compiler(>=5.3) && $NonescapableTypes }
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
#endif @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit @objc deinit
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor 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
@ -527,25 +932,42 @@ extension M2Kit.M2Utils {
public enum M2YTIDType : Swift.String { public enum M2YTIDType : Swift.String {
case video case video
case playlist case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String) public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String public typealias RawValue = Swift.String
public var rawValue: Swift.String { public var rawValue: Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.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.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} 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.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {} extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {} 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>25A362</string> <string>25F80</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.7</string> <string>5.35</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>25A352</string> <string>25F70</string>
<key>DTPlatformName</key> <key>DTPlatformName</key>
<string>macosx</string> <string>macosx</string>
<key>DTPlatformVersion</key> <key>DTPlatformVersion</key>
<string>26.0</string> <string>26.5</string>
<key>DTSDKBuild</key> <key>DTSDKBuild</key>
<string>25A352</string> <string>25F70</string>
<key>DTSDKName</key> <key>DTSDKName</key>
<string>macosx26.0</string> <string>macosx26.5</string>
<key>DTXcode</key> <key>DTXcode</key>
<string>2601</string> <string>2650</string>
<key>DTXcodeBuild</key> <key>DTXcodeBuild</key>
<string>17A400</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.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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,7 +1,8 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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 -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2
import AVFoundation
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
@ -15,138 +16,515 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2API { 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 { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[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) @available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
#endif @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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 getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @available(*, deprecated, message: "Old API, not used.")
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) }
#endif extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_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?)
#endif
@_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 {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String? @_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
} }
public struct M2Backup { extension M2Kit.M2API {
public static var backupCode: Swift.String { @_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 get
} }
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
} }
public let m2Version: Swift.String public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback { @_Concurrency.MainActor public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2HTTP { @_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
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?
#endif @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2IAP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
#endif @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
#endif @_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()
} }
public struct M2K { @_Concurrency.MainActor public struct M2Image {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_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?
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2K {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) }
#endif @_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 { public enum M2NetConnecttionType {
case wifi case wifi
@ -159,64 +537,77 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_hasMissingDesignatedInitializers @_Concurrency.MainActor final public class M2NetMonitor : Foundation.ObservableObject {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static let shared: M2Kit.M2NetMonitor
public var isConnected: Swift.Bool { @Combine.Published<Swift.Bool> @_projectedValueProperty($isConnected) @_Concurrency.MainActor final public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor final public var $isConnected: Combine.Published<Swift.Bool>.Publisher {
get get
} }
public func stop() @Combine.Published<M2Kit.M2NetConnecttionType> @_projectedValueProperty($connectionType) @_Concurrency.MainActor final public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor final public var $connectionType: Combine.Published<M2Kit.M2NetConnecttionType>.Publisher {
get
}
@Combine.Published<Swift.Bool> @_projectedValueProperty($isReady) @_Concurrency.MainActor final public var isReady: Swift.Bool {
get
}
@_Concurrency.MainActor final public var $isReady: Combine.Published<Swift.Bool>.Publisher {
get
}
public typealias ObjectWillChangePublisher = Combine.ObservableObjectPublisher
@objc deinit
} }
public struct M2Radio { @_Concurrency.MainActor public struct M2Radio {
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] @_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String) @_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String @_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor 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 topStationsEx(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)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
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 listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
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)
#endif }
#if compiler(>=5.3) && $NonescapableTypes extension M2Kit.M2Radio {
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
#endif }
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 {
@ -491,33 +882,47 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { public enum M2VideoStatus {
public static func workFor(trackID: Swift.String) case none
public static let workForChangedNotification: Foundation.Notification.Name case queueing
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case loading
public static func deleteDataOf(trackID: Swift.String) case done
public static func filePathOf(trackID: Swift.String) -> Swift.String 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
}
}
@_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
@_Concurrency.MainActor public static func enableWorkForInCellularNetwork(_ enable: Swift.Bool)
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static var countryCode: Swift.String {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2Utils {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
#if compiler(>=5.3) && $NonescapableTypes }
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
#endif @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit @objc deinit
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor 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
@ -527,25 +932,42 @@ extension M2Kit.M2Utils {
public enum M2YTIDType : Swift.String { public enum M2YTIDType : Swift.String {
case video case video
case playlist case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String) public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String public typealias RawValue = Swift.String
public var rawValue: Swift.String { public var rawValue: Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.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.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} 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.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {} extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {} extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,8 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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 -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2
import AVFoundation
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
@ -15,138 +16,515 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2API { 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 { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[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) @available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
#endif @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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 getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @available(*, deprecated, message: "Old API, not used.")
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) }
#endif extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_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?)
#endif
@_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 {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String? @_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
} }
public struct M2Backup { extension M2Kit.M2API {
public static var backupCode: Swift.String { @_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 get
} }
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
} }
public let m2Version: Swift.String public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback { @_Concurrency.MainActor public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2HTTP { @_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
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?
#endif @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2IAP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
#endif @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
#endif @_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()
} }
public struct M2K { @_Concurrency.MainActor public struct M2Image {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_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?
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2K {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) }
#endif @_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 { public enum M2NetConnecttionType {
case wifi case wifi
@ -159,64 +537,77 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_hasMissingDesignatedInitializers @_Concurrency.MainActor final public class M2NetMonitor : Foundation.ObservableObject {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static let shared: M2Kit.M2NetMonitor
public var isConnected: Swift.Bool { @Combine.Published<Swift.Bool> @_projectedValueProperty($isConnected) @_Concurrency.MainActor final public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor final public var $isConnected: Combine.Published<Swift.Bool>.Publisher {
get get
} }
public func stop() @Combine.Published<M2Kit.M2NetConnecttionType> @_projectedValueProperty($connectionType) @_Concurrency.MainActor final public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor final public var $connectionType: Combine.Published<M2Kit.M2NetConnecttionType>.Publisher {
get
}
@Combine.Published<Swift.Bool> @_projectedValueProperty($isReady) @_Concurrency.MainActor final public var isReady: Swift.Bool {
get
}
@_Concurrency.MainActor final public var $isReady: Combine.Published<Swift.Bool>.Publisher {
get
}
public typealias ObjectWillChangePublisher = Combine.ObservableObjectPublisher
@objc deinit
} }
public struct M2Radio { @_Concurrency.MainActor public struct M2Radio {
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] @_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String) @_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String @_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor 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 topStationsEx(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)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
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 listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
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)
#endif }
#if compiler(>=5.3) && $NonescapableTypes extension M2Kit.M2Radio {
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
#endif }
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 {
@ -491,33 +882,47 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { public enum M2VideoStatus {
public static func workFor(trackID: Swift.String) case none
public static let workForChangedNotification: Foundation.Notification.Name case queueing
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case loading
public static func deleteDataOf(trackID: Swift.String) case done
public static func filePathOf(trackID: Swift.String) -> Swift.String 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
}
}
@_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
@_Concurrency.MainActor public static func enableWorkForInCellularNetwork(_ enable: Swift.Bool)
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static var countryCode: Swift.String {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2Utils {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
#if compiler(>=5.3) && $NonescapableTypes }
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
#endif @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit @objc deinit
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor 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
@ -527,25 +932,42 @@ extension M2Kit.M2Utils {
public enum M2YTIDType : Swift.String { public enum M2YTIDType : Swift.String {
case video case video
case playlist case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String) public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String public typealias RawValue = Swift.String
public var rawValue: Swift.String { public var rawValue: Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.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.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} 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.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {} extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {} extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,8 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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 -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2
import AVFoundation
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
@ -15,138 +16,515 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2API { 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 { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[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) @available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
#endif @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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 getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @available(*, deprecated, message: "Old API, not used.")
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) }
#endif extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_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?)
#endif
@_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 {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String? @_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
} }
public struct M2Backup { extension M2Kit.M2API {
public static var backupCode: Swift.String { @_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 get
} }
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
} }
public let m2Version: Swift.String public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback { @_Concurrency.MainActor public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2HTTP { @_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
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?
#endif @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2IAP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
#endif @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
#endif @_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()
} }
public struct M2K { @_Concurrency.MainActor public struct M2Image {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_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?
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2K {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) }
#endif @_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 { public enum M2NetConnecttionType {
case wifi case wifi
@ -159,64 +537,77 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_hasMissingDesignatedInitializers @_Concurrency.MainActor final public class M2NetMonitor : Foundation.ObservableObject {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static let shared: M2Kit.M2NetMonitor
public var isConnected: Swift.Bool { @Combine.Published<Swift.Bool> @_projectedValueProperty($isConnected) @_Concurrency.MainActor final public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor final public var $isConnected: Combine.Published<Swift.Bool>.Publisher {
get get
} }
public func stop() @Combine.Published<M2Kit.M2NetConnecttionType> @_projectedValueProperty($connectionType) @_Concurrency.MainActor final public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor final public var $connectionType: Combine.Published<M2Kit.M2NetConnecttionType>.Publisher {
get
}
@Combine.Published<Swift.Bool> @_projectedValueProperty($isReady) @_Concurrency.MainActor final public var isReady: Swift.Bool {
get
}
@_Concurrency.MainActor final public var $isReady: Combine.Published<Swift.Bool>.Publisher {
get
}
public typealias ObjectWillChangePublisher = Combine.ObservableObjectPublisher
@objc deinit
} }
public struct M2Radio { @_Concurrency.MainActor public struct M2Radio {
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] @_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String) @_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String @_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor 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 topStationsEx(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)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
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 listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
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)
#endif }
#if compiler(>=5.3) && $NonescapableTypes extension M2Kit.M2Radio {
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
#endif }
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 {
@ -491,33 +882,47 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { public enum M2VideoStatus {
public static func workFor(trackID: Swift.String) case none
public static let workForChangedNotification: Foundation.Notification.Name case queueing
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case loading
public static func deleteDataOf(trackID: Swift.String) case done
public static func filePathOf(trackID: Swift.String) -> Swift.String 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
}
}
@_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
@_Concurrency.MainActor public static func enableWorkForInCellularNetwork(_ enable: Swift.Bool)
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static var countryCode: Swift.String {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2Utils {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
#if compiler(>=5.3) && $NonescapableTypes }
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
#endif @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit @objc deinit
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor 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
@ -527,25 +932,42 @@ extension M2Kit.M2Utils {
public enum M2YTIDType : Swift.String { public enum M2YTIDType : Swift.String {
case video case video
case playlist case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String) public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String public typealias RawValue = Swift.String
public var rawValue: Swift.String { public var rawValue: Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.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.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} 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.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {} extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {} extension M2Kit.M2YTIDType : Swift.RawRepresentable {}
extension M2Kit.M2YT : Swift.Sendable {}

View File

@ -1,7 +1,8 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1) // 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 -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2
import AVFoundation
import Combine import Combine
import CommonCrypto import CommonCrypto
import Foundation import Foundation
@ -15,138 +16,515 @@ import WebKit
import _Concurrency import _Concurrency
import _StringProcessing import _StringProcessing
import _SwiftConcurrencyShims import _SwiftConcurrencyShims
public struct M2API { 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 { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[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) @available(*, deprecated, message: "Use getVideosOfChannelEx(channelId:nextToken:result:) instead.")
#endif @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannelEx(channelId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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 getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytSongsEx(countrycode:result:) instead.")
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @available(*, deprecated, message: "Use ytMusicVideosEx(countrycode:result:) instead.")
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void) @available(*, deprecated, message: "Old API, not used.")
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 { extension M2Kit.M2API {
public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func autocompleteSearchEx(_ text: Swift.String, result: @escaping (_ listSuggestion: [Swift.String]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
#endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String, _ metadata: [Swift.AnyHashable : Any]?) -> Swift.Void)
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) }
#endif extension M2Kit.M2API {
@_Concurrency.MainActor public static func kworbMusicVideoWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbMusicCategoryWWEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbGlobalTrendingEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbTopArtistsEx(result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func kworbLocalTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
}
extension M2Kit.M2API {
@_Concurrency.MainActor public static func ytListCountriesEx(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytTrendingEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytMusicVideosEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytSongsEx(countryCode: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistsEx(countryCode: Swift.String, result: @escaping (_ artists: [[Swift.AnyHashable : Any]]) -> Swift.Void)
@_Concurrency.MainActor public static func ytArtistDetailEx(artistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchVideos(title: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchPlaylists(title: Swift.String, nextToken: Swift.String?) async -> (playlists: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func getVideosOfPlaylist(playlistId: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?) @_Concurrency.MainActor public static func searchChannels(title: Swift.String, nextToken: Swift.String?) async -> (channels: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
#endif @available(*, deprecated, message: "Use getVideosOfChannel(channelId:nextToken:) instead.")
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getVideosOfChannel(channelName: Swift.String, nextToken: Swift.String?) async -> (videos: [[Swift.AnyHashable : Any]], nextToken: Swift.String?)
@_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?)
#endif
@_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 {
@_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String] @_Concurrency.MainActor public static func autocompleteSearch(_ text: Swift.String) async -> [Swift.String]
#if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor public static func getLocation() async -> Swift.String? @_Concurrency.MainActor public static func getLocation() async -> Swift.String?
#endif
@_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String] @_Concurrency.MainActor public static func getTrendingSearch() async -> [Swift.String]
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String, metadata: [Swift.AnyHashable : Any]?)
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif
} }
public struct M2Backup { extension M2Kit.M2API {
public static var backupCode: Swift.String { @_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 get
} }
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif
} }
public let m2Version: Swift.String public let m2Version: Swift.String
@_Concurrency.MainActor public func setServiceType(_ type: Swift.String) @_Concurrency.MainActor public func setServiceType(_ type: Swift.String)
@_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int) @_Concurrency.MainActor public func setLogLevel(_ value: Swift.Int)
public struct M2Feedback { @_Concurrency.MainActor public struct M2Feedback {
public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendFeedback(content: Swift.String, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2HTTP { @_Concurrency.MainActor public struct M2HTTP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
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?
#endif @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2IAP {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPPurchasedSuccessNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static let IAPPurchasedFailNotification: Foundation.Notification.Name
#endif @_Concurrency.MainActor public static let IAPUserCancelActionNotification: Foundation.Notification.Name
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static let IAPProductStatusUpdatedNotification: Foundation.Notification.Name
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static let IAPProductsAvailableChangedNotification: Foundation.Notification.Name
#endif @_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()
} }
public struct M2K { @_Concurrency.MainActor public struct M2Image {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_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?
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2K {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) }
#endif @_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 { public enum M2NetConnecttionType {
case wifi case wifi
@ -159,64 +537,77 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_hasMissingDesignatedInitializers @_Concurrency.MainActor final public class M2NetMonitor : Foundation.ObservableObject {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static let shared: M2Kit.M2NetMonitor
public var isConnected: Swift.Bool { @Combine.Published<Swift.Bool> @_projectedValueProperty($isConnected) @_Concurrency.MainActor final public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor final public var $isConnected: Combine.Published<Swift.Bool>.Publisher {
get get
} }
public func stop() @Combine.Published<M2Kit.M2NetConnecttionType> @_projectedValueProperty($connectionType) @_Concurrency.MainActor final public var connectionType: M2Kit.M2NetConnecttionType {
get
}
@_Concurrency.MainActor final public var $connectionType: Combine.Published<M2Kit.M2NetConnecttionType>.Publisher {
get
}
@Combine.Published<Swift.Bool> @_projectedValueProperty($isReady) @_Concurrency.MainActor final public var isReady: Swift.Bool {
get
}
@_Concurrency.MainActor final public var $isReady: Combine.Published<Swift.Bool>.Publisher {
get
}
public typealias ObjectWillChangePublisher = Combine.ObservableObjectPublisher
@objc deinit
} }
public struct M2Radio { @_Concurrency.MainActor public struct M2Radio {
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported(result: @escaping (_ countries: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func getHTTPHeaderMT() -> [Swift.String : Swift.String] @_Concurrency.MainActor public static func getHTTPHeaderMT() -> [Swift.String : Swift.String]
public static func changeRadioCountryCode(_ code: Swift.String) @_Concurrency.MainActor public static func changeRadioCountryCode(_ code: Swift.String)
public static func getCurrentRadioCountryCode() -> Swift.String @_Concurrency.MainActor public static func getCurrentRadioCountryCode() -> Swift.String
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor 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 topStationsEx(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)
#endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
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)
#endif @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
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 listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
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)
#endif }
#if compiler(>=5.3) && $NonescapableTypes extension M2Kit.M2Radio {
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func countriesSupported() async -> [[Swift.AnyHashable : Any]]
#endif }
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 {
@ -491,33 +882,47 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { public enum M2VideoStatus {
public static func workFor(trackID: Swift.String) case none
public static let workForChangedNotification: Foundation.Notification.Name case queueing
public static func checkExisted(trackID: Swift.String) -> Swift.Bool case loading
public static func deleteDataOf(trackID: Swift.String) case done
public static func filePathOf(trackID: Swift.String) -> Swift.String 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
}
}
@_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
@_Concurrency.MainActor public static func enableWorkForInCellularNetwork(_ enable: Swift.Bool)
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static var countryCode: Swift.String { @_Concurrency.MainActor public static var countryCode: Swift.String {
get get
} }
} }
extension M2Kit.M2Utils { extension M2Kit.M2Utils {
public static func randomCode() -> Swift.String @_Concurrency.MainActor public static func randomCode7() -> Swift.String
@_Concurrency.MainActor public static func randomCode11() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { extension M2Kit.M2Utils {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor public static func weightedRandom(from items: [Swift.String], weights: [Swift.Int]) -> Swift.String
#if compiler(>=5.3) && $NonescapableTypes }
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
#endif @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif
@objc deinit @objc deinit
} }
@_Concurrency.MainActor @preconcurrency public struct M2WebView : SwiftUI.UIViewControllerRepresentable { @_Concurrency.MainActor public struct M2WebView : SwiftUI.UIViewControllerRepresentable {
@_Concurrency.MainActor @preconcurrency public init() @_Concurrency.MainActor 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
@ -527,25 +932,42 @@ extension M2Kit.M2Utils {
public enum M2YTIDType : Swift.String { public enum M2YTIDType : Swift.String {
case video case video
case playlist case playlist
#if compiler(>=5.3) && $NonescapableTypes
public init?(rawValue: Swift.String) public init?(rawValue: Swift.String)
#endif
public typealias RawValue = Swift.String public typealias RawValue = Swift.String
public var rawValue: Swift.String { public var rawValue: Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
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)
#endif
#if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {}
extension M2Kit.SwiftyJSONError : Swift.Hashable {}
extension M2Kit.SwiftyJSONError : Swift.RawRepresentable {}
extension M2Kit.`Type` : Swift.Equatable {}
extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.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.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} 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.Equatable {}
extension M2Kit.M2YTIDType : Swift.Hashable {} extension M2Kit.M2YTIDType : Swift.Hashable {}
extension M2Kit.M2YTIDType : Swift.RawRepresentable {} 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,55 +6,55 @@
<dict> <dict>
<key>Headers/M2Kit-Swift.h</key> <key>Headers/M2Kit-Swift.h</key>
<data> <data>
HgQ5BJ7Qjy8imibHHdUTYGtpNxM= kmG9FyD9DX6qXcD4xPSiHdPdJno=
</data> </data>
<key>Info.plist</key> <key>Info.plist</key>
<data> <data>
NFqD13jpsJyQ010t00mgZo+Q3SE= PYogd+hy6knzlZMlZqnt/6otXqQ=
</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>
TfPQVQXAUUy0VhUE7F9wVlgBd4g= Fva/KBWcztni5NvNeTyWvX2WlF4=
</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>
Wdl/bSWh8D0ZST7ZffXqHzwCDcs= 8buWAw/ZK6G+N23carWf9WBJBU8=
</data> </data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
<data> <data>
4S3JFaIFpHm+YXPuWgDiHxrDu9A= 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>
Wdl/bSWh8D0ZST7ZffXqHzwCDcs= 8buWAw/ZK6G+N23carWf9WBJBU8=
</data> </data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<data> <data>
p2422KKaCD0AtaFYENuU0hQKsq8= jZHFLq5c1zmMK8xKduqxECWpHRQ=
</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>
TfPQVQXAUUy0VhUE7F9wVlgBd4g= Fva/KBWcztni5NvNeTyWvX2WlF4=
</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>
E4OkKnlS4W0dfpeM2EYBeAVnMu8= BB78lMYBU4kDVqmC87ESvGuk5qI=
</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>
umco4iGsrJPg10j2lBW8l9A2gHk= 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>
E4OkKnlS4W0dfpeM2EYBeAVnMu8= BB78lMYBU4kDVqmC87ESvGuk5qI=
</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>
NvKJdrMVs67UVU9pd6r39U41Hfg= ty9IdDafmqG0c3249Xyb0YCiuOM=
</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>
@ -63,84 +63,84 @@
<dict> <dict>
<key>hash2</key> <key>hash2</key>
<data> <data>
JBTjeqR9+/p6v/2/PGxpBiZolgiU6pwhlNgM9TKmYUI= 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>hash2</key> <key>hash2</key>
<data> <data>
ZL1xVAjZeFTwhY7mF6Ywdt5I95PPxC/repe5NqdCYso= 98NrTOHY6D0BRebJlQsytBo5Ma+HcHhZ6gR6K/LUI1M=
</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>hash2</key> <key>hash2</key>
<data> <data>
Kb4RPLhN3hG2ZaCTJyiDjuyZs4AuH4laOuO0rKcrCGk= jEC4CyJZ9gD0BWPhiZcDKH1h4HyjH7xm73QW2rYFfDc=
</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>hash2</key> <key>hash2</key>
<data> <data>
lBLaciRorEVxcUBFUZSZYCbgIBWz3+V8fQYn21hIsNs= 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>hash2</key> <key>hash2</key>
<data> <data>
Kb4RPLhN3hG2ZaCTJyiDjuyZs4AuH4laOuO0rKcrCGk= jEC4CyJZ9gD0BWPhiZcDKH1h4HyjH7xm73QW2rYFfDc=
</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>hash2</key> <key>hash2</key>
<data> <data>
wTxLjHnqfXm7/unmakxu+KKsvcEZTeXOgOZ66RXvfL4= 90ZfrZAPW5D3dN7yK92i2mNKBtZKeXAX2PGiAmbR9q0=
</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>hash2</key> <key>hash2</key>
<data> <data>
ZL1xVAjZeFTwhY7mF6Ywdt5I95PPxC/repe5NqdCYso= 98NrTOHY6D0BRebJlQsytBo5Ma+HcHhZ6gR6K/LUI1M=
</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>hash2</key> <key>hash2</key>
<data> <data>
Ynfjfr42+TrMpXb71dClmLlE65wRBW6YYqMQBWToWSQ= Ab5oE/nYcAnFUkTWbAAe4wkbiFrJjiUJU2UoLHZW21c=
</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>hash2</key> <key>hash2</key>
<data> <data>
CrzU935lzOoeXLTE/dv95FRQ5+oMoHSjDxrjCpgOPq8= 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>hash2</key> <key>hash2</key>
<data> <data>
Ynfjfr42+TrMpXb71dClmLlE65wRBW6YYqMQBWToWSQ= Ab5oE/nYcAnFUkTWbAAe4wkbiFrJjiUJU2UoLHZW21c=
</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>hash2</key> <key>hash2</key>
<data> <data>
Z6v0syHFV2qtJwnYYMsDcGTIC+SQA4emZGZ4PQkORoM= 87Iq9BBtBpOJAK30WqkITfkM0hisfhk4VskgvOkDrRk=
</data> </data>
</dict> </dict>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<dict> <dict>
<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.7 5.35