Swiftpack.co - yume190/TypeFill as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by yume190.
yume190/TypeFill 0.5.0
A cli tool to fill your swift source code's types.
⭐️ 10
🕓 14 weeks ago
macOS
.package(url: "https://github.com/yume190/TypeFill.git", from: "0.5.0")

TypeFill

Quality gate Swift


A little cli tool to help you fill your variables type.

And add private final attribute to @IBAction, @IBOutlet, and @objc.(Rewriting ...)

Installation


make

brew install make
make install

Swift Package Manager

swift build -c release
cp .build/release/typefill /usr/local/bin

mint

brew install mint
mint install yume190/TypeFill

Usage

typefill single    --sdk macosx         --file PATH/TO/sample.swift 

typefill spm       --module TypeFillKit --file .       
typefill project   --module YOUR_SCHEME --file PATH/TO/YOUR.xcodeproj 
typefill workspace --module YOUR_SCHEME --file PATH/TO/YOUR.xcworkspace

The Support Part & Todolist

  • ☑ typefill variables like let a = 1 or var a = "1".
  • ☑ typefill keyword like let ``default`` = 1.
  • ☑ typefill guard let and if let.
  • ☑ typefill some closure input.
    • { a, b in }
    • { (a, b) in }
  • ☑ typefill binding tuple let (aa, bb) = (1, 2)
  • ☐ typefill inout
  • ☐ typefill closure output.
  • add private final attribute to @IBAction/@IBOutlet/@objc by using --ibaction/--iboutlet/--objc.(Rewriting)
private lazy var chartHeight: [CGFloat] = {
    return self.status.sensorData?.compactMap { sensor -> CGFloat in
        guard let _chartType = sensor.chart?.type else { return 0 }
    }
}()

Support

let/var

let a = 1
var b = a
let (c, d) = (1, 2)
struct Test {
    let a, b: Int
    let c = 1, d = 2
}
let a: Int = 1
var b: Int = a
let (c, d): (Int, Int) = (1, 2)
struct Test {
    let a: Int, b: Int
    let c: Int = 1, d: Int = 2
}

Option bind(if let/guard let)

let a: Int? = nil
if let aa = a {}
guard let aa = a else {return}
let a: Int? = nil
if let aa: Int = a {}
guard let aa: Int = a else {return}

Closure

let a: (Int, Int) -> String = { a, b -> String in
    return ""
}
let b: (Int, Int) -> String = { (a, b) -> String in
    return ""
}
let a: (Int, Int) -> String = { (a: Int, b: Int) -> String in
    return ""
}
let b: (Int, Int) -> String = { (a: Int, b: Int) -> String in
    return ""
}

Not Support

Closure(inout)

let a: (inout Int) -> Int = { i in
    return i
}

Ref

License

MIT licensed.

GitHub

link
Stars: 10
Last commit: 14 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

Release Build
2 years ago

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