Swiftpack.co - christopherweems/_AsyncParsableCommand as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by christopherweems.
christopherweems/_AsyncParsableCommand 0.0.3
Drop-in replacement for ParsableCommand to use async/await in swift-argument-parser commands
⭐️ 1
🕓 2 years ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/christopherweems/_AsyncParsableCommand.git", from: "0.0.3")

_AsyncParsableCommand

A drop-in replacement for ParsableCommand allowing you to use async/await in ParsableCommand.run() without managing tasks.

Hopefully just here to hold you over until async/await support lands in swift-argument-parser.

It's here! As AsyncParsableCommand is now officially part of the swift-argument-parser project, this package will no longer be maintained.

For more information: apple/swift-argument-parser #404

Usage

import ArgumentParser
import AsyncParsableCommand

struct Countdown: _AsyncParsableCommand {
    @Argument var count: Int
    
    func run() async throws {
        var remaining = count
        
        while 0 < remaining {
            print("\(remaining)!")
            await Task.sleep(1_000_000_000)
            remaining -= 1
        }
        
        print("Countdown complete!")
        
    }
    
}

GitHub

link
Stars: 1
Last commit: 2 years ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

_AsyncParsableCommand 0.0.3
2 years ago

Conditionally skip async test on non-macOS targets (async tests fail on Linux)

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics