reorder code blocks

This commit is contained in:
Sunny Young 2025-12-08 14:52:08 +08:00
parent 3cc0f2c5c6
commit 0682644327
2 changed files with 84 additions and 76 deletions

View File

@ -9,6 +9,8 @@ import Foundation
import MachO
struct Config: Decodable {
static let `default` = URL(string:"https://raw.githubusercontent.com/sunnyyoung/WeChatTweak/refs/heads/master/config.json")!
enum Arch: String, Decodable {
case arm64
case x86_64
@ -81,7 +83,7 @@ struct Config: Decodable {
let version: String
let targets: [Target]
static func load(from url: URL) async throws -> [Config] {
static func load(url: URL = Self.default) async throws -> [Config] {
if url.isFileURL {
return try JSONDecoder().decode(
[Config].self,

View File

@ -8,16 +8,21 @@ import Foundation
import Dispatch
import ArgumentParser
struct Versions: AsyncParsableCommand {
// MARK: Versions
extension Tweak {
struct Versions: AsyncParsableCommand {
static let configuration = CommandConfiguration(abstract: "List all supported WeChat versions")
mutating func run() async throws {
try await Config.load(from: Tweak.config).forEach({ print($0.version) })
try await Config.load().forEach({ print($0.version) })
Darwin.exit(EXIT_SUCCESS)
}
}
}
struct Patch: AsyncParsableCommand {
// MARK: Patch
extension Tweak {
struct Patch: AsyncParsableCommand {
enum Error: LocalizedError {
case invalidApp
case invalidConfig
@ -66,7 +71,7 @@ struct Patch: AsyncParsableCommand {
}
}
)
var config: URL = Tweak.config
var config: URL = Config.default
mutating func run() async throws {
print("------ Version ------")
@ -76,7 +81,7 @@ struct Patch: AsyncParsableCommand {
print("WeChat version: \(version)")
print("------ Config ------")
guard let config = (try await Config.load(from: self.config)).first(where: { $0.version == version }) else {
guard let config = (try await Config.load()).first(where: { $0.version == version }) else {
throw Error.unsupportedVersion
}
print("Matched config: \(config)")
@ -96,8 +101,11 @@ struct Patch: AsyncParsableCommand {
Darwin.exit(EXIT_SUCCESS)
}
}
}
// MARK: Tweak
struct Tweak: AsyncParsableCommand {
static let configuration = CommandConfiguration(
commandName: "wechattweak",
@ -108,8 +116,6 @@ struct Tweak: AsyncParsableCommand {
]
)
static let config = URL(string:"https://raw.githubusercontent.com/sunnyyoung/WeChatTweak/refs/heads/master/config.json")!
mutating func run() async throws {
print(Tweak.helpMessage())
Darwin.exit(EXIT_SUCCESS)