This commit is contained in:
2026-01-24 10:06:38 +07:00
parent c29efe1e30
commit f04a3e5eec
30 changed files with 1908 additions and 1008 deletions

View File

@ -4,20 +4,6 @@
<dict> <dict>
<key>AvailableLibraries</key> <key>AvailableLibraries</key>
<array> <array>
<dict>
<key>BinaryPath</key>
<string>M2Kit.framework/M2Kit</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>M2Kit.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict> <dict>
<key>BinaryPath</key> <key>BinaryPath</key>
<string>M2Kit.framework/Versions/A/M2Kit</string> <string>M2Kit.framework/Versions/A/M2Kit</string>
@ -52,6 +38,20 @@
<key>SupportedPlatformVariant</key> <key>SupportedPlatformVariant</key>
<string>simulator</string> <string>simulator</string>
</dict> </dict>
<dict>
<key>BinaryPath</key>
<string>M2Kit.framework/M2Kit</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>M2Kit.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
</array> </array>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>XFWK</string> <string>XFWK</string>

View File

@ -7930,6 +7930,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8032,6 +8033,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8134,6 +8136,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8236,6 +8239,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8338,6 +8342,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8405,6 +8410,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8466,6 +8472,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8527,6 +8534,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8588,6 +8596,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8649,6 +8658,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8710,6 +8720,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8777,6 +8788,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8831,6 +8843,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8879,6 +8892,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8927,6 +8941,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8994,6 +9009,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -9916,6 +9932,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -9932,6 +9949,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -9972,6 +9996,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10065,6 +10090,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10119,6 +10145,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10173,6 +10200,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10249,6 +10277,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10322,6 +10351,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10376,6 +10406,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10388,6 +10419,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10404,6 +10436,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10427,6 +10466,7 @@
"HasInitialValue", "HasInitialValue",
"HasStorage", "HasStorage",
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isLet": true, "isLet": true,
@ -10562,6 +10602,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10573,7 +10614,8 @@
"mangledName": "$s5M2Kit0A8FeedbackV", "mangledName": "$s5M2Kit0A8FeedbackV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -10589,6 +10631,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10653,6 +10702,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10690,6 +10740,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10744,6 +10795,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10781,6 +10833,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10793,6 +10846,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10809,6 +10863,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10880,6 +10941,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10917,6 +10979,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10929,6 +10992,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10945,6 +11009,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11015,6 +11086,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11027,6 +11099,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -11043,6 +11116,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11106,6 +11186,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11141,6 +11222,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11181,6 +11263,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11192,7 +11275,8 @@
"mangledName": "$s5M2Kit0A3LogV", "mangledName": "$s5M2Kit0A3LogV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11208,6 +11292,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11299,6 +11390,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11310,7 +11402,8 @@
"mangledName": "$s5M2Kit0A4MusiV", "mangledName": "$s5M2Kit0A4MusiV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11326,6 +11419,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11663,6 +11763,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV5start14monitorHandleryySbc_tF", "mangledName": "$s5M2Kit0A10NetMonitorV5start14monitorHandleryySbc_tF",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -11684,6 +11785,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV11isConnectedSbvp", "mangledName": "$s5M2Kit0A10NetMonitorV11isConnectedSbvp",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"accessors": [ "accessors": [
@ -11724,6 +11826,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV14connectionTypeAA0ac11ConnecttionF0Ovp", "mangledName": "$s5M2Kit0A10NetMonitorV14connectionTypeAA0ac11ConnecttionF0Ovp",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"accessors": [ "accessors": [
@ -11763,6 +11866,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV4stopyyF", "mangledName": "$s5M2Kit0A10NetMonitorV4stopyyF",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -11773,7 +11877,8 @@
"mangledName": "$s5M2Kit0A10NetMonitorV", "mangledName": "$s5M2Kit0A10NetMonitorV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11789,6 +11894,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11860,6 +11972,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11897,6 +12010,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11925,6 +12039,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11948,6 +12063,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12050,6 +12166,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12146,6 +12263,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12207,6 +12325,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12322,6 +12441,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12389,6 +12509,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12491,6 +12612,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12606,6 +12728,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12702,6 +12825,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12763,6 +12887,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12878,6 +13003,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12945,6 +13071,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13012,6 +13139,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13079,6 +13207,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13091,6 +13220,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -13107,6 +13237,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -17864,6 +18001,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17889,6 +18027,7 @@
"declAttributes": [ "declAttributes": [
"HasInitialValue", "HasInitialValue",
"HasStorage", "HasStorage",
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17941,6 +18080,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17969,6 +18109,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17998,6 +18139,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -18021,6 +18163,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -18065,6 +18208,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -18077,6 +18221,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -18093,6 +18238,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -18135,7 +18287,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Override", "Override",
"AccessControl" "AccessControl"
@ -18192,7 +18343,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Override" "Override"
], ],
@ -18234,7 +18384,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Required" "Required"
], ],
@ -18246,9 +18395,8 @@
"mangledName": "$s5M2Kit0A5WebVCC", "mangledName": "$s5M2Kit0A5WebVCC",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency",
"Custom",
"AccessControl", "AccessControl",
"Custom",
"ObjC" "ObjC"
], ],
"superclassUsr": "c:objc(cs)UIViewController", "superclassUsr": "c:objc(cs)UIViewController",
@ -18360,7 +18508,6 @@
"mangledName": "$s5M2Kit0A7WebViewVACycfc", "mangledName": "$s5M2Kit0A7WebViewVACycfc",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency",
"Custom", "Custom",
"AccessControl" "AccessControl"
], ],
@ -18451,9 +18598,8 @@
"mangledName": "$s5M2Kit0A7WebViewV", "mangledName": "$s5M2Kit0A7WebViewV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency", "AccessControl",
"Custom", "Custom"
"AccessControl"
], ],
"conformances": [ "conformances": [
{ {
@ -18805,6 +18951,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -18892,6 +19039,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -18902,7 +19050,8 @@
"mangledName": "$s5M2Kit0A2YTV", "mangledName": "$s5M2Kit0A2YTV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -18918,6 +19067,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -22267,56 +22423,56 @@
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Define.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Define.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 131, "offset": 142,
"length": 6, "length": 6,
"value": "\"5.13\"" "value": "\"5.14\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 568, "offset": 579,
"length": 2, "length": 2,
"value": "\"\"" "value": "\"\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 584, "offset": 595,
"length": 2, "length": 2,
"value": "\"\"" "value": "\"\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 597, "offset": 608,
"length": 1, "length": 1,
"value": "0" "value": "0"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 150, "offset": 161,
"length": 22, "length": 22,
"value": "\"M2LogEventDictionary\"" "value": "\"M2LogEventDictionary\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "Dictionary", "kind": "Dictionary",
"offset": 300, "offset": 311,
"length": 3, "length": 3,
"value": "[]" "value": "[]"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 393, "offset": 404,
"length": 1, "length": 1,
"value": "1" "value": "1"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 679, "offset": 690,
"length": 1, "length": 1,
"value": "1" "value": "1"
}, },
@ -22953,7 +23109,7 @@
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Utils.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Utils.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 693, "offset": 704,
"length": 16, "length": 16,
"value": "\"workForChanged\"" "value": "\"workForChanged\""
}, },

View File

@ -1,6 +1,6 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target arm64-apple-ios15.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit // swift-module-flags: -target arm64-apple-ios16.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
@ -416,46 +416,46 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws public func encode(to encoder: any Swift.Encoder) throws
} }
public struct M2API { @_Concurrency.MainActor public struct M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #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) @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor 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) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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) @_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 #if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif #endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -498,68 +498,68 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif #endif
} }
public struct M2Backup { @_Concurrency.MainActor public struct M2Backup {
public static var backupCode: Swift.String { @_Concurrency.MainActor public static var backupCode: Swift.String {
get get
} }
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
} }
public let m2Version: Swift.String @_Concurrency.MainActor 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 #if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif #endif
} }
public struct M2K { @_Concurrency.MainActor public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
} }
public struct M2Log { @_Concurrency.MainActor public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1) @_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
public enum M2NetConnecttionType { public enum M2NetConnecttionType {
@ -573,63 +573,63 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_Concurrency.MainActor public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool { @_Concurrency.MainActor public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get get
} }
public func stop() @_Concurrency.MainActor public func stop()
} }
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 #if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
@ -905,33 +905,33 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2Utils {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool @_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String) @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String @_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
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 randomCode() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif #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
@ -949,12 +949,12 @@ public enum M2YTIDType : Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)? @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {} extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -965,9 +965,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {} extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {} extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {} extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {} extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.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,6 +1,6 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target arm64-apple-ios15.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit // swift-module-flags: -target arm64-apple-ios16.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
@ -416,46 +416,46 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws public func encode(to encoder: any Swift.Encoder) throws
} }
public struct M2API { @_Concurrency.MainActor public struct M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #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) @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor 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) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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) @_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 #if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif #endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -498,68 +498,68 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif #endif
} }
public struct M2Backup { @_Concurrency.MainActor public struct M2Backup {
public static var backupCode: Swift.String { @_Concurrency.MainActor public static var backupCode: Swift.String {
get get
} }
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
} }
public let m2Version: Swift.String @_Concurrency.MainActor 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 #if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif #endif
} }
public struct M2K { @_Concurrency.MainActor public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
} }
public struct M2Log { @_Concurrency.MainActor public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1) @_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
public enum M2NetConnecttionType { public enum M2NetConnecttionType {
@ -573,63 +573,63 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_Concurrency.MainActor public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool { @_Concurrency.MainActor public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get get
} }
public func stop() @_Concurrency.MainActor public func stop()
} }
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 #if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
@ -905,33 +905,33 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2Utils {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool @_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String) @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String @_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
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 randomCode() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif #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
@ -949,12 +949,12 @@ public enum M2YTIDType : Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)? @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {} extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -965,9 +965,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {} extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {} extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {} extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {} extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.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

@ -7930,6 +7930,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8032,6 +8033,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8134,6 +8136,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8236,6 +8239,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8338,6 +8342,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8405,6 +8410,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8466,6 +8472,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8527,6 +8534,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8588,6 +8596,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8649,6 +8658,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8710,6 +8720,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8777,6 +8788,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8831,6 +8843,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8879,6 +8892,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8927,6 +8941,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8994,6 +9009,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -9916,6 +9932,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -9932,6 +9949,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -9972,6 +9996,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10065,6 +10090,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10119,6 +10145,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10173,6 +10200,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10249,6 +10277,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10322,6 +10351,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10376,6 +10406,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10388,6 +10419,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10404,6 +10436,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10427,6 +10466,7 @@
"HasInitialValue", "HasInitialValue",
"HasStorage", "HasStorage",
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isLet": true, "isLet": true,
@ -10562,6 +10602,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10573,7 +10614,8 @@
"mangledName": "$s5M2Kit0A8FeedbackV", "mangledName": "$s5M2Kit0A8FeedbackV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -10589,6 +10631,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10653,6 +10702,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10690,6 +10740,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10744,6 +10795,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10781,6 +10833,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10793,6 +10846,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10809,6 +10863,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10880,6 +10941,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10917,6 +10979,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10929,6 +10992,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10945,6 +11009,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11015,6 +11086,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11027,6 +11099,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -11043,6 +11116,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11106,6 +11186,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11141,6 +11222,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11181,6 +11263,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11192,7 +11275,8 @@
"mangledName": "$s5M2Kit0A3LogV", "mangledName": "$s5M2Kit0A3LogV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11208,6 +11292,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11299,6 +11390,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11310,7 +11402,8 @@
"mangledName": "$s5M2Kit0A4MusiV", "mangledName": "$s5M2Kit0A4MusiV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11326,6 +11419,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11663,6 +11763,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV5start14monitorHandleryySbc_tF", "mangledName": "$s5M2Kit0A10NetMonitorV5start14monitorHandleryySbc_tF",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -11684,6 +11785,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV11isConnectedSbvp", "mangledName": "$s5M2Kit0A10NetMonitorV11isConnectedSbvp",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"accessors": [ "accessors": [
@ -11724,6 +11826,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV14connectionTypeAA0ac11ConnecttionF0Ovp", "mangledName": "$s5M2Kit0A10NetMonitorV14connectionTypeAA0ac11ConnecttionF0Ovp",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"accessors": [ "accessors": [
@ -11763,6 +11866,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV4stopyyF", "mangledName": "$s5M2Kit0A10NetMonitorV4stopyyF",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -11773,7 +11877,8 @@
"mangledName": "$s5M2Kit0A10NetMonitorV", "mangledName": "$s5M2Kit0A10NetMonitorV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11789,6 +11894,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11860,6 +11972,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11897,6 +12010,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11925,6 +12039,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11948,6 +12063,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12050,6 +12166,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12146,6 +12263,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12207,6 +12325,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12322,6 +12441,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12389,6 +12509,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12491,6 +12612,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12606,6 +12728,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12702,6 +12825,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12763,6 +12887,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12878,6 +13003,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12945,6 +13071,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13012,6 +13139,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13079,6 +13207,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13091,6 +13220,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -13107,6 +13237,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -17864,6 +18001,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17889,6 +18027,7 @@
"declAttributes": [ "declAttributes": [
"HasInitialValue", "HasInitialValue",
"HasStorage", "HasStorage",
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17941,6 +18080,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17969,6 +18109,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17998,6 +18139,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -18021,6 +18163,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -18065,6 +18208,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -18077,6 +18221,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -18093,6 +18238,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -18135,7 +18287,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Override", "Override",
"AccessControl" "AccessControl"
@ -18192,7 +18343,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Override" "Override"
], ],
@ -18234,7 +18384,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Required" "Required"
], ],
@ -18246,9 +18395,8 @@
"mangledName": "$s5M2Kit0A5WebVCC", "mangledName": "$s5M2Kit0A5WebVCC",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency",
"Custom",
"AccessControl", "AccessControl",
"Custom",
"ObjC" "ObjC"
], ],
"superclassUsr": "c:objc(cs)UIViewController", "superclassUsr": "c:objc(cs)UIViewController",
@ -18360,7 +18508,6 @@
"mangledName": "$s5M2Kit0A7WebViewVACycfc", "mangledName": "$s5M2Kit0A7WebViewVACycfc",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency",
"Custom", "Custom",
"AccessControl" "AccessControl"
], ],
@ -18451,9 +18598,8 @@
"mangledName": "$s5M2Kit0A7WebViewV", "mangledName": "$s5M2Kit0A7WebViewV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency", "AccessControl",
"Custom", "Custom"
"AccessControl"
], ],
"conformances": [ "conformances": [
{ {
@ -18805,6 +18951,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -18892,6 +19039,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -18902,7 +19050,8 @@
"mangledName": "$s5M2Kit0A2YTV", "mangledName": "$s5M2Kit0A2YTV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -18918,6 +19067,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -22267,56 +22423,56 @@
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Define.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Define.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 131, "offset": 142,
"length": 6, "length": 6,
"value": "\"5.13\"" "value": "\"5.14\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 568, "offset": 579,
"length": 2, "length": 2,
"value": "\"\"" "value": "\"\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 584, "offset": 595,
"length": 2, "length": 2,
"value": "\"\"" "value": "\"\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 597, "offset": 608,
"length": 1, "length": 1,
"value": "0" "value": "0"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 150, "offset": 161,
"length": 22, "length": 22,
"value": "\"M2LogEventDictionary\"" "value": "\"M2LogEventDictionary\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "Dictionary", "kind": "Dictionary",
"offset": 300, "offset": 311,
"length": 3, "length": 3,
"value": "[]" "value": "[]"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 393, "offset": 404,
"length": 1, "length": 1,
"value": "1" "value": "1"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 679, "offset": 690,
"length": 1, "length": 1,
"value": "1" "value": "1"
}, },
@ -22953,7 +23109,7 @@
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Utils.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Utils.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 693, "offset": 704,
"length": 16, "length": 16,
"value": "\"workForChanged\"" "value": "\"workForChanged\""
}, },

View File

@ -1,6 +1,6 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target arm64-apple-ios15.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit // swift-module-flags: -target arm64-apple-ios16.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
@ -416,46 +416,46 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws public func encode(to encoder: any Swift.Encoder) throws
} }
public struct M2API { @_Concurrency.MainActor public struct M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #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) @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor 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) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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) @_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 #if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif #endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -498,68 +498,68 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif #endif
} }
public struct M2Backup { @_Concurrency.MainActor public struct M2Backup {
public static var backupCode: Swift.String { @_Concurrency.MainActor public static var backupCode: Swift.String {
get get
} }
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
} }
public let m2Version: Swift.String @_Concurrency.MainActor 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 #if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif #endif
} }
public struct M2K { @_Concurrency.MainActor public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
} }
public struct M2Log { @_Concurrency.MainActor public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1) @_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
public enum M2NetConnecttionType { public enum M2NetConnecttionType {
@ -573,63 +573,63 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_Concurrency.MainActor public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool { @_Concurrency.MainActor public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get get
} }
public func stop() @_Concurrency.MainActor public func stop()
} }
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 #if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
@ -905,33 +905,33 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2Utils {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool @_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String) @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String @_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
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 randomCode() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif #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
@ -949,12 +949,12 @@ public enum M2YTIDType : Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)? @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {} extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -965,9 +965,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {} extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {} extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {} extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {} extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.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,6 +1,6 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target arm64-apple-ios15.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit // swift-module-flags: -target arm64-apple-ios16.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
@ -416,46 +416,46 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws public func encode(to encoder: any Swift.Encoder) throws
} }
public struct M2API { @_Concurrency.MainActor public struct M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #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) @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor 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) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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) @_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 #if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif #endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -498,68 +498,68 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif #endif
} }
public struct M2Backup { @_Concurrency.MainActor public struct M2Backup {
public static var backupCode: Swift.String { @_Concurrency.MainActor public static var backupCode: Swift.String {
get get
} }
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
} }
public let m2Version: Swift.String @_Concurrency.MainActor 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 #if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif #endif
} }
public struct M2K { @_Concurrency.MainActor public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
} }
public struct M2Log { @_Concurrency.MainActor public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1) @_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
public enum M2NetConnecttionType { public enum M2NetConnecttionType {
@ -573,63 +573,63 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_Concurrency.MainActor public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool { @_Concurrency.MainActor public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get get
} }
public func stop() @_Concurrency.MainActor public func stop()
} }
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 #if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
@ -905,33 +905,33 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2Utils {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool @_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String) @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String @_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
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 randomCode() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif #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
@ -949,12 +949,12 @@ public enum M2YTIDType : Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)? @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {} extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -965,9 +965,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {} extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {} extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {} extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {} extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.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

@ -7930,6 +7930,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8032,6 +8033,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8134,6 +8136,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8236,6 +8239,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8338,6 +8342,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8405,6 +8410,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8466,6 +8472,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8527,6 +8534,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8588,6 +8596,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8649,6 +8658,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8710,6 +8720,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8777,6 +8788,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8831,6 +8843,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8879,6 +8892,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8927,6 +8941,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8994,6 +9009,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -9916,6 +9932,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -9932,6 +9949,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -9972,6 +9996,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10065,6 +10090,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10119,6 +10145,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10173,6 +10200,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10249,6 +10277,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10322,6 +10351,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10376,6 +10406,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10388,6 +10419,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10404,6 +10436,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10427,6 +10466,7 @@
"HasInitialValue", "HasInitialValue",
"HasStorage", "HasStorage",
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isLet": true, "isLet": true,
@ -10562,6 +10602,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10573,7 +10614,8 @@
"mangledName": "$s5M2Kit0A8FeedbackV", "mangledName": "$s5M2Kit0A8FeedbackV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -10589,6 +10631,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10653,6 +10702,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10690,6 +10740,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10744,6 +10795,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10781,6 +10833,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10793,6 +10846,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10809,6 +10863,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10880,6 +10941,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10917,6 +10979,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10929,6 +10992,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10945,6 +11009,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11015,6 +11086,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11027,6 +11099,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -11043,6 +11116,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11106,6 +11186,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11141,6 +11222,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11181,6 +11263,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11192,7 +11275,8 @@
"mangledName": "$s5M2Kit0A3LogV", "mangledName": "$s5M2Kit0A3LogV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11208,6 +11292,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11299,6 +11390,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11310,7 +11402,8 @@
"mangledName": "$s5M2Kit0A4MusiV", "mangledName": "$s5M2Kit0A4MusiV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11326,6 +11419,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11663,6 +11763,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV5start14monitorHandleryySbc_tF", "mangledName": "$s5M2Kit0A10NetMonitorV5start14monitorHandleryySbc_tF",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -11684,6 +11785,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV11isConnectedSbvp", "mangledName": "$s5M2Kit0A10NetMonitorV11isConnectedSbvp",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"accessors": [ "accessors": [
@ -11724,6 +11826,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV14connectionTypeAA0ac11ConnecttionF0Ovp", "mangledName": "$s5M2Kit0A10NetMonitorV14connectionTypeAA0ac11ConnecttionF0Ovp",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"accessors": [ "accessors": [
@ -11763,6 +11866,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV4stopyyF", "mangledName": "$s5M2Kit0A10NetMonitorV4stopyyF",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -11773,7 +11877,8 @@
"mangledName": "$s5M2Kit0A10NetMonitorV", "mangledName": "$s5M2Kit0A10NetMonitorV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11789,6 +11894,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11860,6 +11972,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11897,6 +12010,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11925,6 +12039,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11948,6 +12063,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12050,6 +12166,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12146,6 +12263,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12207,6 +12325,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12322,6 +12441,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12389,6 +12509,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12491,6 +12612,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12606,6 +12728,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12702,6 +12825,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12763,6 +12887,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12878,6 +13003,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12945,6 +13071,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13012,6 +13139,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13079,6 +13207,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13091,6 +13220,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -13107,6 +13237,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -17864,6 +18001,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17889,6 +18027,7 @@
"declAttributes": [ "declAttributes": [
"HasInitialValue", "HasInitialValue",
"HasStorage", "HasStorage",
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17941,6 +18080,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17969,6 +18109,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17998,6 +18139,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -18021,6 +18163,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -18065,6 +18208,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -18077,6 +18221,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -18093,6 +18238,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -18135,7 +18287,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Override", "Override",
"AccessControl" "AccessControl"
@ -18192,7 +18343,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Override" "Override"
], ],
@ -18234,7 +18384,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Required" "Required"
], ],
@ -18246,9 +18395,8 @@
"mangledName": "$s5M2Kit0A5WebVCC", "mangledName": "$s5M2Kit0A5WebVCC",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency",
"Custom",
"AccessControl", "AccessControl",
"Custom",
"ObjC" "ObjC"
], ],
"superclassUsr": "c:objc(cs)UIViewController", "superclassUsr": "c:objc(cs)UIViewController",
@ -18360,7 +18508,6 @@
"mangledName": "$s5M2Kit0A7WebViewVACycfc", "mangledName": "$s5M2Kit0A7WebViewVACycfc",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency",
"Custom", "Custom",
"AccessControl" "AccessControl"
], ],
@ -18451,9 +18598,8 @@
"mangledName": "$s5M2Kit0A7WebViewV", "mangledName": "$s5M2Kit0A7WebViewV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency", "AccessControl",
"Custom", "Custom"
"AccessControl"
], ],
"conformances": [ "conformances": [
{ {
@ -18805,6 +18951,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -18892,6 +19039,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -18902,7 +19050,8 @@
"mangledName": "$s5M2Kit0A2YTV", "mangledName": "$s5M2Kit0A2YTV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -18918,6 +19067,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -22267,56 +22423,56 @@
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Define.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Define.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 131, "offset": 142,
"length": 6, "length": 6,
"value": "\"5.13\"" "value": "\"5.14\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 568, "offset": 579,
"length": 2, "length": 2,
"value": "\"\"" "value": "\"\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 584, "offset": 595,
"length": 2, "length": 2,
"value": "\"\"" "value": "\"\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 597, "offset": 608,
"length": 1, "length": 1,
"value": "0" "value": "0"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 150, "offset": 161,
"length": 22, "length": 22,
"value": "\"M2LogEventDictionary\"" "value": "\"M2LogEventDictionary\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "Dictionary", "kind": "Dictionary",
"offset": 300, "offset": 311,
"length": 3, "length": 3,
"value": "[]" "value": "[]"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 393, "offset": 404,
"length": 1, "length": 1,
"value": "1" "value": "1"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 679, "offset": 690,
"length": 1, "length": 1,
"value": "1" "value": "1"
}, },
@ -22953,7 +23109,7 @@
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Utils.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Utils.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 693, "offset": 704,
"length": 16, "length": 16,
"value": "\"workForChanged\"" "value": "\"workForChanged\""
}, },

View File

@ -1,6 +1,6 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target x86_64-apple-ios15.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit // swift-module-flags: -target x86_64-apple-ios16.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
@ -416,46 +416,46 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws public func encode(to encoder: any Swift.Encoder) throws
} }
public struct M2API { @_Concurrency.MainActor public struct M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #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) @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor 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) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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) @_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 #if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif #endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -498,68 +498,68 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif #endif
} }
public struct M2Backup { @_Concurrency.MainActor public struct M2Backup {
public static var backupCode: Swift.String { @_Concurrency.MainActor public static var backupCode: Swift.String {
get get
} }
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
} }
public let m2Version: Swift.String @_Concurrency.MainActor 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 #if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif #endif
} }
public struct M2K { @_Concurrency.MainActor public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
} }
public struct M2Log { @_Concurrency.MainActor public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1) @_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
public enum M2NetConnecttionType { public enum M2NetConnecttionType {
@ -573,63 +573,63 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_Concurrency.MainActor public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool { @_Concurrency.MainActor public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get get
} }
public func stop() @_Concurrency.MainActor public func stop()
} }
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 #if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
@ -905,33 +905,33 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2Utils {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool @_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String) @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String @_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
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 randomCode() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif #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
@ -949,12 +949,12 @@ public enum M2YTIDType : Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)? @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {} extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -965,9 +965,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {} extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {} extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {} extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {} extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.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,6 +1,6 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target x86_64-apple-ios15.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit // swift-module-flags: -target x86_64-apple-ios16.0-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
@ -416,46 +416,46 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws public func encode(to encoder: any Swift.Encoder) throws
} }
public struct M2API { @_Concurrency.MainActor public struct M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #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) @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor 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) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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) @_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 #if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif #endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -498,68 +498,68 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif #endif
} }
public struct M2Backup { @_Concurrency.MainActor public struct M2Backup {
public static var backupCode: Swift.String { @_Concurrency.MainActor public static var backupCode: Swift.String {
get get
} }
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
} }
public let m2Version: Swift.String @_Concurrency.MainActor 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 #if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif #endif
} }
public struct M2K { @_Concurrency.MainActor public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
} }
public struct M2Log { @_Concurrency.MainActor public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1) @_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
public enum M2NetConnecttionType { public enum M2NetConnecttionType {
@ -573,63 +573,63 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_Concurrency.MainActor public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool { @_Concurrency.MainActor public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get get
} }
public func stop() @_Concurrency.MainActor public func stop()
} }
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 #if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
@ -905,33 +905,33 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2Utils {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool @_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String) @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String @_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
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 randomCode() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif #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
@ -949,12 +949,12 @@ public enum M2YTIDType : Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)? @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {} extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -965,9 +965,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {} extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {} extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {} extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {} extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.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

@ -17,7 +17,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>5.13</string> <string>5.14</string>
<key>CFBundleSupportedPlatforms</key> <key>CFBundleSupportedPlatforms</key>
<array> <array>
<string>MacOSX</string> <string>MacOSX</string>
@ -41,7 +41,7 @@
<key>DTXcodeBuild</key> <key>DTXcodeBuild</key>
<string>17C52</string> <string>17C52</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

@ -7930,6 +7930,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8032,6 +8033,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8134,6 +8136,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8236,6 +8239,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8338,6 +8342,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8405,6 +8410,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8466,6 +8472,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8527,6 +8534,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8588,6 +8596,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8649,6 +8658,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8710,6 +8720,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8777,6 +8788,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8831,6 +8843,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8879,6 +8892,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8927,6 +8941,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8994,6 +9009,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -9916,6 +9932,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -9932,6 +9949,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -9972,6 +9996,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10065,6 +10090,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10119,6 +10145,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10173,6 +10200,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10249,6 +10277,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10322,6 +10351,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10376,6 +10406,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10388,6 +10419,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10404,6 +10436,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10427,6 +10466,7 @@
"HasInitialValue", "HasInitialValue",
"HasStorage", "HasStorage",
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isLet": true, "isLet": true,
@ -10562,6 +10602,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10573,7 +10614,8 @@
"mangledName": "$s5M2Kit0A8FeedbackV", "mangledName": "$s5M2Kit0A8FeedbackV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -10589,6 +10631,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10653,6 +10702,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10690,6 +10740,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10744,6 +10795,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10781,6 +10833,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10793,6 +10846,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10809,6 +10863,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10880,6 +10941,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10917,6 +10979,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10929,6 +10992,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10945,6 +11009,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11015,6 +11086,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11027,6 +11099,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -11043,6 +11116,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11106,6 +11186,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11141,6 +11222,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11181,6 +11263,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11192,7 +11275,8 @@
"mangledName": "$s5M2Kit0A3LogV", "mangledName": "$s5M2Kit0A3LogV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11208,6 +11292,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11299,6 +11390,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11310,7 +11402,8 @@
"mangledName": "$s5M2Kit0A4MusiV", "mangledName": "$s5M2Kit0A4MusiV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11326,6 +11419,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11663,6 +11763,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV5start14monitorHandleryySbc_tF", "mangledName": "$s5M2Kit0A10NetMonitorV5start14monitorHandleryySbc_tF",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -11684,6 +11785,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV11isConnectedSbvp", "mangledName": "$s5M2Kit0A10NetMonitorV11isConnectedSbvp",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"accessors": [ "accessors": [
@ -11724,6 +11826,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV14connectionTypeAA0ac11ConnecttionF0Ovp", "mangledName": "$s5M2Kit0A10NetMonitorV14connectionTypeAA0ac11ConnecttionF0Ovp",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"accessors": [ "accessors": [
@ -11763,6 +11866,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV4stopyyF", "mangledName": "$s5M2Kit0A10NetMonitorV4stopyyF",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -11773,7 +11877,8 @@
"mangledName": "$s5M2Kit0A10NetMonitorV", "mangledName": "$s5M2Kit0A10NetMonitorV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11789,6 +11894,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11860,6 +11972,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11897,6 +12010,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11925,6 +12039,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11948,6 +12063,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12050,6 +12166,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12146,6 +12263,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12207,6 +12325,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12322,6 +12441,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12389,6 +12509,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12491,6 +12612,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12606,6 +12728,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12702,6 +12825,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12763,6 +12887,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12878,6 +13003,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12945,6 +13071,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13012,6 +13139,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13079,6 +13207,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13091,6 +13220,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -13107,6 +13237,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -17864,6 +18001,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17889,6 +18027,7 @@
"declAttributes": [ "declAttributes": [
"HasInitialValue", "HasInitialValue",
"HasStorage", "HasStorage",
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17941,6 +18080,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17969,6 +18109,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17998,6 +18139,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -18021,6 +18163,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -18065,6 +18208,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -18077,6 +18221,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -18093,6 +18238,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -18135,7 +18287,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Override", "Override",
"AccessControl" "AccessControl"
@ -18192,7 +18343,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Override" "Override"
], ],
@ -18234,7 +18384,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Required" "Required"
], ],
@ -18246,9 +18395,8 @@
"mangledName": "$s5M2Kit0A5WebVCC", "mangledName": "$s5M2Kit0A5WebVCC",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency",
"Custom",
"AccessControl", "AccessControl",
"Custom",
"ObjC" "ObjC"
], ],
"superclassUsr": "c:objc(cs)UIViewController", "superclassUsr": "c:objc(cs)UIViewController",
@ -18360,7 +18508,6 @@
"mangledName": "$s5M2Kit0A7WebViewVACycfc", "mangledName": "$s5M2Kit0A7WebViewVACycfc",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency",
"Custom", "Custom",
"AccessControl" "AccessControl"
], ],
@ -18451,9 +18598,8 @@
"mangledName": "$s5M2Kit0A7WebViewV", "mangledName": "$s5M2Kit0A7WebViewV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency", "AccessControl",
"Custom", "Custom"
"AccessControl"
], ],
"conformances": [ "conformances": [
{ {
@ -18805,6 +18951,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -18892,6 +19039,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -18902,7 +19050,8 @@
"mangledName": "$s5M2Kit0A2YTV", "mangledName": "$s5M2Kit0A2YTV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -18918,6 +19067,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -22267,56 +22423,56 @@
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Define.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Define.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 131, "offset": 142,
"length": 6, "length": 6,
"value": "\"5.13\"" "value": "\"5.14\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 568, "offset": 579,
"length": 2, "length": 2,
"value": "\"\"" "value": "\"\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 584, "offset": 595,
"length": 2, "length": 2,
"value": "\"\"" "value": "\"\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 597, "offset": 608,
"length": 1, "length": 1,
"value": "0" "value": "0"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 150, "offset": 161,
"length": 22, "length": 22,
"value": "\"M2LogEventDictionary\"" "value": "\"M2LogEventDictionary\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "Dictionary", "kind": "Dictionary",
"offset": 300, "offset": 311,
"length": 3, "length": 3,
"value": "[]" "value": "[]"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 393, "offset": 404,
"length": 1, "length": 1,
"value": "1" "value": "1"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 679, "offset": 690,
"length": 1, "length": 1,
"value": "1" "value": "1"
}, },
@ -22953,7 +23109,7 @@
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Utils.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Utils.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 693, "offset": 704,
"length": 16, "length": 16,
"value": "\"workForChanged\"" "value": "\"workForChanged\""
}, },

View File

@ -1,6 +1,6 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target arm64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit // swift-module-flags: -target arm64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
@ -416,46 +416,46 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws public func encode(to encoder: any Swift.Encoder) throws
} }
public struct M2API { @_Concurrency.MainActor public struct M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #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) @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor 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) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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) @_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 #if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif #endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -498,68 +498,68 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif #endif
} }
public struct M2Backup { @_Concurrency.MainActor public struct M2Backup {
public static var backupCode: Swift.String { @_Concurrency.MainActor public static var backupCode: Swift.String {
get get
} }
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
} }
public let m2Version: Swift.String @_Concurrency.MainActor 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 #if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif #endif
} }
public struct M2K { @_Concurrency.MainActor public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
} }
public struct M2Log { @_Concurrency.MainActor public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1) @_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
public enum M2NetConnecttionType { public enum M2NetConnecttionType {
@ -573,63 +573,63 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_Concurrency.MainActor public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool { @_Concurrency.MainActor public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get get
} }
public func stop() @_Concurrency.MainActor public func stop()
} }
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 #if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
@ -905,33 +905,33 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2Utils {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool @_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String) @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String @_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
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 randomCode() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif #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
@ -949,12 +949,12 @@ public enum M2YTIDType : Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)? @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {} extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -965,9 +965,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {} extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {} extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {} extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {} extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.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,6 +1,6 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target arm64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit // swift-module-flags: -target arm64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
@ -416,46 +416,46 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws public func encode(to encoder: any Swift.Encoder) throws
} }
public struct M2API { @_Concurrency.MainActor public struct M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #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) @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor 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) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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) @_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 #if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif #endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -498,68 +498,68 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif #endif
} }
public struct M2Backup { @_Concurrency.MainActor public struct M2Backup {
public static var backupCode: Swift.String { @_Concurrency.MainActor public static var backupCode: Swift.String {
get get
} }
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
} }
public let m2Version: Swift.String @_Concurrency.MainActor 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 #if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif #endif
} }
public struct M2K { @_Concurrency.MainActor public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
} }
public struct M2Log { @_Concurrency.MainActor public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1) @_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
public enum M2NetConnecttionType { public enum M2NetConnecttionType {
@ -573,63 +573,63 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_Concurrency.MainActor public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool { @_Concurrency.MainActor public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get get
} }
public func stop() @_Concurrency.MainActor public func stop()
} }
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 #if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
@ -905,33 +905,33 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2Utils {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool @_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String) @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String @_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
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 randomCode() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif #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
@ -949,12 +949,12 @@ public enum M2YTIDType : Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)? @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {} extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -965,9 +965,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {} extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {} extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {} extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {} extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.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

@ -7930,6 +7930,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8032,6 +8033,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8134,6 +8136,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8236,6 +8239,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8338,6 +8342,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8405,6 +8410,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8466,6 +8472,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8527,6 +8534,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8588,6 +8596,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8649,6 +8658,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8710,6 +8720,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8777,6 +8788,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8831,6 +8843,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8879,6 +8892,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8927,6 +8941,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -8994,6 +9009,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -9916,6 +9932,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -9932,6 +9949,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -9972,6 +9996,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10065,6 +10090,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10119,6 +10145,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10173,6 +10200,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10249,6 +10277,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10322,6 +10351,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10376,6 +10406,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10388,6 +10419,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10404,6 +10436,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10427,6 +10466,7 @@
"HasInitialValue", "HasInitialValue",
"HasStorage", "HasStorage",
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isLet": true, "isLet": true,
@ -10562,6 +10602,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10573,7 +10614,8 @@
"mangledName": "$s5M2Kit0A8FeedbackV", "mangledName": "$s5M2Kit0A8FeedbackV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -10589,6 +10631,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10653,6 +10702,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10690,6 +10740,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10744,6 +10795,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10781,6 +10833,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10793,6 +10846,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10809,6 +10863,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -10880,6 +10941,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10917,6 +10979,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -10929,6 +10992,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -10945,6 +11009,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11015,6 +11086,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11027,6 +11099,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -11043,6 +11116,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11106,6 +11186,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11141,6 +11222,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11181,6 +11263,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11192,7 +11275,8 @@
"mangledName": "$s5M2Kit0A3LogV", "mangledName": "$s5M2Kit0A3LogV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11208,6 +11292,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11299,6 +11390,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -11310,7 +11402,8 @@
"mangledName": "$s5M2Kit0A4MusiV", "mangledName": "$s5M2Kit0A4MusiV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11326,6 +11419,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11663,6 +11763,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV5start14monitorHandleryySbc_tF", "mangledName": "$s5M2Kit0A10NetMonitorV5start14monitorHandleryySbc_tF",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -11684,6 +11785,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV11isConnectedSbvp", "mangledName": "$s5M2Kit0A10NetMonitorV11isConnectedSbvp",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"accessors": [ "accessors": [
@ -11724,6 +11826,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV14connectionTypeAA0ac11ConnecttionF0Ovp", "mangledName": "$s5M2Kit0A10NetMonitorV14connectionTypeAA0ac11ConnecttionF0Ovp",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"accessors": [ "accessors": [
@ -11763,6 +11866,7 @@
"mangledName": "$s5M2Kit0A10NetMonitorV4stopyyF", "mangledName": "$s5M2Kit0A10NetMonitorV4stopyyF",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -11773,7 +11877,8 @@
"mangledName": "$s5M2Kit0A10NetMonitorV", "mangledName": "$s5M2Kit0A10NetMonitorV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -11789,6 +11894,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -11860,6 +11972,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11897,6 +12010,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11925,6 +12039,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -11948,6 +12063,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12050,6 +12166,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12146,6 +12263,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12207,6 +12325,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12322,6 +12441,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12389,6 +12509,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12491,6 +12612,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12606,6 +12728,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12702,6 +12825,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12763,6 +12887,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12878,6 +13003,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -12945,6 +13071,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13012,6 +13139,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13079,6 +13207,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -13091,6 +13220,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -13107,6 +13237,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -17864,6 +18001,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17889,6 +18027,7 @@
"declAttributes": [ "declAttributes": [
"HasInitialValue", "HasInitialValue",
"HasStorage", "HasStorage",
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17941,6 +18080,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17969,6 +18109,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -17998,6 +18139,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl", "AccessControl",
"RawDocComment" "RawDocComment"
], ],
@ -18021,6 +18163,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -18065,6 +18208,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"RawDocComment" "RawDocComment"
], ],
"isFromExtension": true, "isFromExtension": true,
@ -18077,6 +18221,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl", "AccessControl",
"Custom",
"RawDocComment" "RawDocComment"
], ],
"conformances": [ "conformances": [
@ -18093,6 +18238,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -18135,7 +18287,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Override", "Override",
"AccessControl" "AccessControl"
@ -18192,7 +18343,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Override" "Override"
], ],
@ -18234,7 +18384,6 @@
"declAttributes": [ "declAttributes": [
"Dynamic", "Dynamic",
"ObjC", "ObjC",
"Preconcurrency",
"Custom", "Custom",
"Required" "Required"
], ],
@ -18246,9 +18395,8 @@
"mangledName": "$s5M2Kit0A5WebVCC", "mangledName": "$s5M2Kit0A5WebVCC",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency",
"Custom",
"AccessControl", "AccessControl",
"Custom",
"ObjC" "ObjC"
], ],
"superclassUsr": "c:objc(cs)UIViewController", "superclassUsr": "c:objc(cs)UIViewController",
@ -18360,7 +18508,6 @@
"mangledName": "$s5M2Kit0A7WebViewVACycfc", "mangledName": "$s5M2Kit0A7WebViewVACycfc",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency",
"Custom", "Custom",
"AccessControl" "AccessControl"
], ],
@ -18451,9 +18598,8 @@
"mangledName": "$s5M2Kit0A7WebViewV", "mangledName": "$s5M2Kit0A7WebViewV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"Preconcurrency", "AccessControl",
"Custom", "Custom"
"AccessControl"
], ],
"conformances": [ "conformances": [
{ {
@ -18805,6 +18951,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -18892,6 +19039,7 @@
"moduleName": "M2Kit", "moduleName": "M2Kit",
"static": true, "static": true,
"declAttributes": [ "declAttributes": [
"Custom",
"AccessControl" "AccessControl"
], ],
"funcSelfKind": "NonMutating" "funcSelfKind": "NonMutating"
@ -18902,7 +19050,8 @@
"mangledName": "$s5M2Kit0A2YTV", "mangledName": "$s5M2Kit0A2YTV",
"moduleName": "M2Kit", "moduleName": "M2Kit",
"declAttributes": [ "declAttributes": [
"AccessControl" "AccessControl",
"Custom"
], ],
"conformances": [ "conformances": [
{ {
@ -18918,6 +19067,13 @@
"printedName": "Escapable", "printedName": "Escapable",
"usr": "s:s9EscapableP", "usr": "s:s9EscapableP",
"mangledName": "$ss9EscapableP" "mangledName": "$ss9EscapableP"
},
{
"kind": "Conformance",
"name": "Sendable",
"printedName": "Sendable",
"usr": "s:s8SendableP",
"mangledName": "$ss8SendableP"
} }
] ]
}, },
@ -22267,56 +22423,56 @@
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Define.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Define.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 131, "offset": 142,
"length": 6, "length": 6,
"value": "\"5.13\"" "value": "\"5.14\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 568, "offset": 579,
"length": 2, "length": 2,
"value": "\"\"" "value": "\"\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 584, "offset": 595,
"length": 2, "length": 2,
"value": "\"\"" "value": "\"\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2K.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 597, "offset": 608,
"length": 1, "length": 1,
"value": "0" "value": "0"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 150, "offset": 161,
"length": 22, "length": 22,
"value": "\"M2LogEventDictionary\"" "value": "\"M2LogEventDictionary\""
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "Dictionary", "kind": "Dictionary",
"offset": 300, "offset": 311,
"length": 3, "length": 3,
"value": "[]" "value": "[]"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 393, "offset": 404,
"length": 1, "length": 1,
"value": "1" "value": "1"
}, },
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Log.swift",
"kind": "IntegerLiteral", "kind": "IntegerLiteral",
"offset": 679, "offset": 690,
"length": 1, "length": 1,
"value": "1" "value": "1"
}, },
@ -22953,7 +23109,7 @@
{ {
"filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Utils.swift", "filePath": "\/Users\/cuongkc\/Projects\/M2Kit\/M2Kit\/Public\/M2Utils.swift",
"kind": "StringLiteral", "kind": "StringLiteral",
"offset": 693, "offset": 704,
"length": 16, "length": 16,
"value": "\"workForChanged\"" "value": "\"workForChanged\""
}, },

View File

@ -1,6 +1,6 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target x86_64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit // swift-module-flags: -target x86_64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
@ -416,46 +416,46 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws public func encode(to encoder: any Swift.Encoder) throws
} }
public struct M2API { @_Concurrency.MainActor public struct M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #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) @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor 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) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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) @_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 #if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif #endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -498,68 +498,68 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif #endif
} }
public struct M2Backup { @_Concurrency.MainActor public struct M2Backup {
public static var backupCode: Swift.String { @_Concurrency.MainActor public static var backupCode: Swift.String {
get get
} }
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
} }
public let m2Version: Swift.String @_Concurrency.MainActor 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 #if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif #endif
} }
public struct M2K { @_Concurrency.MainActor public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
} }
public struct M2Log { @_Concurrency.MainActor public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1) @_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
public enum M2NetConnecttionType { public enum M2NetConnecttionType {
@ -573,63 +573,63 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_Concurrency.MainActor public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool { @_Concurrency.MainActor public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get get
} }
public func stop() @_Concurrency.MainActor public func stop()
} }
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 #if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
@ -905,33 +905,33 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2Utils {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool @_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String) @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String @_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
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 randomCode() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif #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
@ -949,12 +949,12 @@ public enum M2YTIDType : Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)? @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {} extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -965,9 +965,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {} extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {} extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {} extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {} extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.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,6 +1,6 @@
// swift-interface-format-version: 1.0 // swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
// swift-module-flags: -target x86_64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit // swift-module-flags: -target x86_64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name M2Kit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
import Combine import Combine
import CommonCrypto import CommonCrypto
@ -416,46 +416,46 @@ extension M2Kit.JSON : Swift.Codable {
public init(from decoder: any Swift.Decoder) throws public init(from decoder: any Swift.Decoder) throws
public func encode(to encoder: any Swift.Encoder) throws public func encode(to encoder: any Swift.Encoder) throws
} }
public struct M2API { @_Concurrency.MainActor public struct M2API {
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchVideosEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPlaylistsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ playlists: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistEx(playlistId: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchChannelsEx(title: Swift.String, nextToken: Swift.String?, result: @escaping (_ channels: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #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) @_Concurrency.MainActor public static func getVideosOfChannelEx(channelName: Swift.String, nextToken: Swift.String?, result: @escaping (_ videos: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func getAllVideosOfPlaylistEx(playlistId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor 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) @_Concurrency.MainActor public static func topSongsEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func topVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func trendingVideosEx(result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
public static func topChannelsEx(result: @escaping (_ channels: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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) @_Concurrency.MainActor public static func listCategoryEx(result: @escaping (_ categories: [(category_id: Swift.String, title: Swift.String)]) -> Swift.Void)
public static func getVideosOfCategoryEx(categoryId: Swift.String, result: @escaping (_ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_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 #if compiler(>=5.3) && $NonescapableTypes
public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLocationEx(result: @escaping (_ countryCode: Swift.String?) -> Swift.Void)
#endif #endif
public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void) @_Concurrency.MainActor public static func getTrendingSearchEx(result: @escaping (_ titles: [Swift.String]) -> Swift.Void)
} }
extension M2Kit.M2API { extension M2Kit.M2API {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(videoId: Swift.String, result: @escaping (_ videoUrl: Foundation.URL?, _ videoId: Swift.String) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2API { extension M2Kit.M2API {
@ -498,68 +498,68 @@ extension M2Kit.M2API {
@_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String) @_Concurrency.MainActor public static func getLinkPlay(videoId: Swift.String) async -> (videoUrl: Foundation.URL?, videoId: Swift.String)
#endif #endif
} }
public struct M2Backup { @_Concurrency.MainActor public struct M2Backup {
public static var backupCode: Swift.String { @_Concurrency.MainActor public static var backupCode: Swift.String {
get get
} }
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackup(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackup(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersion(code: Swift.String, result: @escaping (_ num: Swift.Int?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void) @_Concurrency.MainActor public static func getBackupVersions(codes: [Swift.String], result: @escaping (_ results: [Swift.String : Swift.Int?]) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void) @_Concurrency.MainActor public static func uploadBackupPlaylist(code: Swift.String, data: Foundation.Data, result: @escaping (_ url: Swift.String?, _ version: Swift.Int) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getBackupPlaylist(code: Swift.String, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
} }
public let m2Version: Swift.String @_Concurrency.MainActor 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 #if compiler(>=5.3) && $NonescapableTypes
public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void) @_Concurrency.MainActor public static func getImageDataEx(url: Foundation.URL, result: @escaping (_ data: Foundation.Data?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getImageData(url: Foundation.URL) async -> Foundation.Data? @_Concurrency.MainActor public static func getImageData(url: Foundation.URL) async -> Foundation.Data?
#endif #endif
} }
public struct M2Image { @_Concurrency.MainActor public struct M2Image {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage, result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String? @_Concurrency.MainActor public static func uploadImage(_ image: UIKit.UIImage) async -> Swift.String?
#endif #endif
} }
public struct M2K { @_Concurrency.MainActor public struct M2K {
public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void) @_Concurrency.MainActor public static func start(c: Swift.String = "", t: Swift.String = "", d: Swift.Int = 0, result: @escaping () -> Swift.Void)
} }
public struct M2Log { @_Concurrency.MainActor public struct M2Log {
public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func send(event: Swift.String, count: Swift.Int = 1, result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
public static func lazyLog(event: Swift.String, count: Swift.Int = 1) @_Concurrency.MainActor public static func lazyLog(event: Swift.String, count: Swift.Int = 1)
public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public static func sendAllEvents(result: @escaping (_ isOK: Swift.Bool) -> Swift.Void)
} }
public struct M2Musi { @_Concurrency.MainActor public struct M2Musi {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistWithCode(_ code: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
public enum M2NetConnecttionType { public enum M2NetConnecttionType {
@ -573,63 +573,63 @@ public enum M2NetConnecttionType {
get get
} }
} }
public struct M2NetMonitor { @_Concurrency.MainActor public struct M2NetMonitor {
public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void) @_Concurrency.MainActor public func start(monitorHandler: @escaping (_ isConnected: Swift.Bool) -> Swift.Void)
public var isConnected: Swift.Bool { @_Concurrency.MainActor public var isConnected: Swift.Bool {
get get
} }
public var connectionType: M2Kit.M2NetConnecttionType { @_Concurrency.MainActor public var connectionType: M2Kit.M2NetConnecttionType {
get get
} }
public func stop() @_Concurrency.MainActor public func stop()
} }
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 #if compiler(>=5.3) && $NonescapableTypes
public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchStationsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topStationsEx(token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForRadioEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listStationsByGenresEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ stations: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func stationInfoEx(station: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func searchPodcastsEx(title: Swift.String, token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listEpisodesOfPodcastEx(podcast: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ episodes: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func topPodcastsEx(token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func listGenresForPodcastEx(result: @escaping (_ genres: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func listPodcastsByGenreEx(genre: [Swift.AnyHashable : Any], token: Swift.String?, result: @escaping (_ podcasts: [[Swift.AnyHashable : Any]], _ nextToken: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func podcastInfoEx(podcast: [Swift.AnyHashable : Any], result: @escaping (_ info: Swift.String?) -> Swift.Void)
#endif #endif
} }
extension M2Kit.M2Radio { extension M2Kit.M2Radio {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(station: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void) @_Concurrency.MainActor public static func getLinkPlayEx(episode: [Swift.AnyHashable : Any], result: @escaping (_ url: Swift.String?) -> Swift.Void)
#endif #endif
} }
@_hasMissingDesignatedInitializers public class M2Setting { @_hasMissingDesignatedInitializers public class M2Setting {
@ -905,33 +905,33 @@ extension M2Kit.M2Radio {
} }
@objc deinit @objc deinit
} }
public struct M2Utils { @_Concurrency.MainActor public struct M2Utils {
public static func workFor(trackID: Swift.String) @_Concurrency.MainActor public static func workFor(trackID: Swift.String)
public static let workForChangedNotification: Foundation.Notification.Name @_Concurrency.MainActor public static let workForChangedNotification: Foundation.Notification.Name
public static func checkExisted(trackID: Swift.String) -> Swift.Bool @_Concurrency.MainActor public static func checkExisted(trackID: Swift.String) -> Swift.Bool
public static func deleteDataOf(trackID: Swift.String) @_Concurrency.MainActor public static func deleteDataOf(trackID: Swift.String)
public static func filePathOf(trackID: Swift.String) -> Swift.String @_Concurrency.MainActor public static func filePathOf(trackID: Swift.String) -> Swift.String
} }
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 randomCode() -> Swift.String
} }
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency public class M2WebVC : UIKit.UIViewController { @objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class M2WebVC : UIKit.UIViewController {
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad() @_Concurrency.MainActor @objc override dynamic public func viewDidLoad()
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?) @_Concurrency.MainActor @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder) @_Concurrency.MainActor @objc required dynamic public init?(coder: Foundation.NSCoder)
#endif #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
@ -949,12 +949,12 @@ public enum M2YTIDType : Swift.String {
get get
} }
} }
public struct M2YT { @_Concurrency.MainActor public struct M2YT {
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)? @_Concurrency.MainActor public static func extractId(fromUrl: Swift.String) -> (id: Swift.String, type: M2Kit.M2YTIDType)?
#endif #endif
#if compiler(>=5.3) && $NonescapableTypes #if compiler(>=5.3) && $NonescapableTypes
public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void) @_Concurrency.MainActor public static func getVideosOfPlaylistId(_ playlistId: Swift.String, result: @escaping (_ title: Swift.String?, _ videos: [[Swift.AnyHashable : Any]]) -> Swift.Void)
#endif #endif
} }
extension M2Kit.SwiftyJSONError : Swift.Equatable {} extension M2Kit.SwiftyJSONError : Swift.Equatable {}
@ -965,9 +965,21 @@ extension M2Kit.`Type` : Swift.Hashable {}
extension M2Kit.`Type` : Swift.RawRepresentable {} extension M2Kit.`Type` : Swift.RawRepresentable {}
extension M2Kit.writingOptionsKeys : Swift.Equatable {} extension M2Kit.writingOptionsKeys : Swift.Equatable {}
extension M2Kit.writingOptionsKeys : Swift.Hashable {} extension M2Kit.writingOptionsKeys : Swift.Hashable {}
extension M2Kit.M2API : Swift.Sendable {}
extension M2Kit.M2Backup : Swift.Sendable {}
extension M2Kit.M2Feedback : Swift.Sendable {}
extension M2Kit.M2HTTP : Swift.Sendable {}
extension M2Kit.M2Image : Swift.Sendable {}
extension M2Kit.M2K : Swift.Sendable {}
extension M2Kit.M2Log : Swift.Sendable {}
extension M2Kit.M2Musi : Swift.Sendable {}
extension M2Kit.M2NetConnecttionType : Swift.Equatable {} extension M2Kit.M2NetConnecttionType : Swift.Equatable {}
extension M2Kit.M2NetConnecttionType : Swift.Hashable {} extension M2Kit.M2NetConnecttionType : Swift.Hashable {}
extension M2Kit.M2NetMonitor : Swift.Sendable {}
extension M2Kit.M2Radio : Swift.Sendable {}
extension M2Kit.M2Utils : Swift.Sendable {}
extension M2Kit.M2WebView : Swift.Sendable {} extension M2Kit.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

@ -10,47 +10,47 @@
</data> </data>
<key>Info.plist</key> <key>Info.plist</key>
<data> <data>
jheJoUGO4iqde2E3il+GAeTR7SE= cYWdZ5xID5gqNewmxEcDp00e/Y8=
</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>
ZWjWd9Ddd8a++8MjenTD5v+oEVQ= t0C4+zrKeurclpDenOTjEsWFGtM=
</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>
5sxhWnS8papnp5y6r5xs1uwNYoQ= sveGrR2tA6lPQQv5See7ZQZsNa0=
</data> </data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
<data> <data>
OOZmR9BumBD3ntGGxE8kprctaQk= dqf+V4ZiffAhVhqEd2haPLj1PL4=
</data> </data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
<data> <data>
5sxhWnS8papnp5y6r5xs1uwNYoQ= sveGrR2tA6lPQQv5See7ZQZsNa0=
</data> </data>
<key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key> <key>Modules/M2Kit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<data> <data>
lTbWQ4WRBlLJTHXjySQJtrUhKHc= oDHDqzkNPZZiSGVUtakYNGxHj0Y=
</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>
ZWjWd9Ddd8a++8MjenTD5v+oEVQ= t0C4+zrKeurclpDenOTjEsWFGtM=
</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>
GzKPuZKvv0h/IobM+/GLKD8Hcqc= fWVjarZsbVy5BEDTIS1xnM9tZn4=
</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>
0MZ45LpAJAoX653u3M48qdUcqTw= UO0OET+lZZ8S1pcIO2rAZQCwNeo=
</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>
GzKPuZKvv0h/IobM+/GLKD8Hcqc= fWVjarZsbVy5BEDTIS1xnM9tZn4=
</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>
pGC40GZAAJjUCwlmI5ydzlBrdNk= Zmmnk+t4j30FYEoKWvb2DmS7d6I=
</data> </data>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>
<data> <data>
@ -70,70 +70,70 @@
<dict> <dict>
<key>hash2</key> <key>hash2</key>
<data> <data>
J6QRRf0twY0aA3Sl8fNXDen/u5i5YDL6jHmXE651MbI= MoKUdRC3mXoQCBs2M873i/jUFAu2u2XI2SGSw3UxIUQ=
</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>
PhxWLBRJpdJdb5+yaudxdG3QWY3v6nin6IRgwCDrqi0= vxBAWVnHNnggTc/OZZ8GsDLUCdNugmyf3MXUv/wn1dg=
</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>
JWytsc6a5e2DLv+8sHV3qqJ+iSfhru1DvtCpuCURMgk= 0EiosBh5cjE7W3egNSCLcz9xFyRHSC6ri78HCI5obZo=
</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>
PhxWLBRJpdJdb5+yaudxdG3QWY3v6nin6IRgwCDrqi0= vxBAWVnHNnggTc/OZZ8GsDLUCdNugmyf3MXUv/wn1dg=
</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>
NSIBXS425b7L8tlghOlGlz2kMPf58QIsosnziztVH2w= EjwNTyWtHNHTCQYQNBax0LtjZ6tL/3247OUGSC0Ri1M=
</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>
J6QRRf0twY0aA3Sl8fNXDen/u5i5YDL6jHmXE651MbI= MoKUdRC3mXoQCBs2M873i/jUFAu2u2XI2SGSw3UxIUQ=
</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>
kxYTcFx/gWvznH2oAtSKJUOYXXcP6hdqjw/lmlKAxBk= RiiljDB4CDPi5pa2a9hXHt3upWweqtUXZScfnFAu7ic=
</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>
03zWpLNKuxnWEvlhvPNu6Xg+OmgR9ikhwbr0pXRLWe4= Cf7H5FR45uvUAr43UrGNGplZHTkBE0Ic5rQGafBsB80=
</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>
kxYTcFx/gWvznH2oAtSKJUOYXXcP6hdqjw/lmlKAxBk= RiiljDB4CDPi5pa2a9hXHt3upWweqtUXZScfnFAu7ic=
</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>
M3ytx1r9QYnAW2/WKOuz0sW6XcX1kkgfd8hbF1VbsKk= wf4mX0amgI3/P1D62M098/6o7NKMNGbF2VNYAAsbQ6E=
</data> </data>
</dict> </dict>
<key>Modules/module.modulemap</key> <key>Modules/module.modulemap</key>

View File

@ -1,3 +1,3 @@
M2Kit M2Kit
===== =====
5.13 5.14