Swift snippets for scripting

Updated
Sep 4, 2022 12:35 PM
Created
Sep 3, 2022 10:56 AM
Tags
SwiftSwiftScripting
Attributes

Dependencies

.package(url: "https://github.com/apple/swift-argument-parser", from: "1.1.0"),
.package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.0.0")),
.package(url: "https://github.com/FluidGroup/swift-async-shell.git", branch: "main"),

Entrypoint with argument-parser

import Foundation
import ArgumentParser

struct CLIError: Swift.Error, LocalizedError, Equatable {
  
  var errorDescription: String?
  
  static var somethingFailed: Self = .init(errorDescription: "Something's failed")
  
}

struct CLI: AsyncParsableCommand {
  
  static var configuration: CommandConfiguration = .init(subcommands: [Subcommand.self])
  
  struct Subcommand: AsyncParsableCommand {
    
    /*
    @Argument(help: "arg1") var arg1: String
    @Option(name: .long, help: "option1") var option1: String?
     */
    
    mutating func run() async throws {
      
      // run
      
    }
     
  }
  
}

@main
enum Main {
  static func main() async {
    await CLI.main()
  }
}

Network request with Alamofire

let dataTask = AF.request(
  "https://api.github.com/repos/\(c.owner)/\(c.repo)/compare/\(baseSHA.value)...\(headSHA.value)",
  method: .get,
  parameters: nil,
  headers: [
    "Accept" : "application/vnd.github.v3+json",
    "Authorization" : "token \(context.githubToken)"
  ]
)
  .validate(statusCode: 200..<300)
  .serializingDecodable(Responses.Containers.Compare.self, decoder: Responses.decoder)

Recently updated notes

πŸ“–
Notes

NameTagsUpdated
just happened
SwiftUI.frameworkSwift
Sep 22, 2022 6:13 PM
Rendering ascii utils
Swift
Sep 22, 2022 8:45 AM
SwiftUI EnvironmentValues - SwiftUI.PropertyList
SwiftSwiftUI.framework
Sep 22, 2022 10:13 AM
Regex example
Sep 21, 2022 1:27 PM
SwiftUI animation - Structural Identity
SwiftSwiftUI.framework
Sep 16, 2022 12:39 PM
Verge v9 migration note
Sep 15, 2022 3:49 AM
Merging Blob, Metaball
Sep 14, 2022 12:28 PM
SwiftUI Testing
Sep 12, 2022 6:33 PM
Swipe up or down prototyping
SwiftSwiftUI.framework
Sep 10, 2022 9:51 AM
Pick an emoji at random
SwiftMemoDevelopmentSwiftScripting
Sep 10, 2022 7:00 AM
flex-wrap in SwiftUI with Layout API
SwiftSwiftUI.framework
Sep 9, 2022 4:11 PM
SwiftUI backports
SwiftSwiftUI.framework
Sep 9, 2022 4:03 PM
Making Slides in SwiftUI
Swift
Sep 8, 2022 6:35 PM
CORS on Firebase
Sep 5, 2022 8:48 AM
swift-async-shell
SwiftBookmark
Sep 4, 2022 12:34 PM
Furniture shops
Bookmark
Sep 4, 2022 11:06 AM
New StateReader syntax
VergeGroup/VergeSwift
Sep 3, 2022 8:07 PM
Swift snippets for scripting
SwiftSwiftScripting
Sep 4, 2022 12:35 PM
Mixpanel note
mixpanel
Sep 2, 2022 3:23 PM
[scrapbook] Trampoline implementation EventEmitter - Verge
Swift
Sep 1, 2022 3:45 PM
apple/swift-book
SwiftBookmark
Aug 31, 2022 4:50 PM
Swift Concurrency γƒγƒΌγƒˆγ‚·γƒΌγƒˆ
SwiftMemoBookmark
Aug 29, 2022 4:59 AM
Check if it is in Task
SwiftConcurrency
Aug 27, 2022 6:11 AM
Behaviors actor annotated type - Swift Concurrency
SwiftConcurrency
Aug 26, 2022 5:23 PM
Syntax Design in Swift
Swift
Aug 25, 2022 12:41 PM
[Syntax Design] .background(.blue)
SwiftSyntaxDesign
Aug 25, 2022 12:41 PM
WidgetKit note
iOSSwift
Sep 15, 2022 1:58 PM
ActivityKit note
iOSSwift
Sep 15, 2022 3:13 PM
Hides warnings coming from calling main actor isolated things
SwiftConcurrency
Aug 25, 2022 1:32 PM
Coffee Grinder - VARIA VS3 GRINDER
Coffee
Aug 29, 2022 6:14 AM
Logger template for iOS12+
Swift
Sep 13, 2022 12:35 PM
Like UIScrollView, how to get "rubber banding effect"
Sep 15, 2022 5:43 AM
πŸ› οΈ
Valuable iOS development resources
UIKit.frameworkSwiftSwiftUI.frameworkObjective-CCocoaiOS
Aug 29, 2022 5:53 AM