// // AppleScriptHelper.swift // DynamicIsland // // Created by Alexander on 2025-03-29. // import Foundation class AppleScriptHelper { @discardableResult class func execute(_ scriptText: String) async throws -> NSAppleEventDescriptor? { try await withCheckedThrowingContinuation { continuation in Task.detached(priority: .userInitiated) { let script = NSAppleScript(source: scriptText) var error: NSDictionary? if let descriptor = script?.executeAndReturnError(&error) { continuation.resume(returning: descriptor) } else if let error = error { continuation.resume(throwing: NSError(domain: "AppleScriptError", code: 1, userInfo: error as? [String: Any])) } else { continuation.resume(throwing: NSError(domain: "AppleScriptError", code: 1, userInfo: [NSLocalizedDescriptionKey: "Unknown error"])) } } } } class func executeVoid(_ scriptText: String) async throws { _ = try await execute(scriptText) } }