Swiftpack.co - dev-rsquare/UtilityKit as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by dev-rsquare.
dev-rsquare/UtilityKit 0.0.8
package of Extensions for iOS
โญ๏ธ 0
๐Ÿ•“ 42 weeks ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/dev-rsquare/UtilityKit.git", from: "0.0.8")

UtilityKit

SwiftPM CodeCoverage Platform

๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ์„ ๋ชจ๋“ˆํ™” ์ง„ํ–‰ ๊ฐ ํŽ˜์ด์ง€์˜ READ.ME๋ฅผ ์ฝ์–ด์ฃผ์„ธ์š”.

DOCS

๋‚ด๋ถ€ ๋„ํ๋จผํŠธ๋ฅผ ๋ณด์‹œ๊ธธ ๊ถŒ์žฅ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋„ํ๋จผํŠธ

์ด๋ฉ”์ผ ์œ ํšจ์„ฑ๊ฒ€์‚ฌ

  • Use {String}.isValidation()

Requirement

iOS 11.0+/macOS 10.13+/tvOS 11.0+/watchOS 4.0+ Apple developer

Installation

File > Swift Packages > Add Package Dependency Add https://github.com/dev-rsquare/UtilityKit.git Select "Up to Next Major" with 0.0.1

  .package(url: "https://github.com/dev-rsquare/UtilityKit.git", .upToNextMajor(from: "0.0.1"))

Coverage

cc

validation test coverage

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2023-07-06 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 10 54 35

Custom validationKit ์‚ฌ์šฉ๋ฒ•

Use ์ปค์Šคํ…€ ์ •๊ทœ์‹ ์ƒ์„ฑํ•ด์„œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌํ•˜๊ธฐ

[์˜ต์…˜ ์„ค๋ช…]

    .required([.english, .number, , .korean, .specialSymbols]) // ํ•„์ˆ˜๋กœ ํฌํ•จ๋˜์–ด์•ผํ•˜๋Š” ์„ค์ •
     //์˜์–ด, ์ˆซ์ž, ํ•œ๊ธ€, ํŠน์ˆ˜๋ฌธ์ž 4๊ฐ€์ง€ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    .setLength(min: Int, max: Int) // ์ตœ์†Œ ์ตœ๋Œ€ ๊ธ€์ž
    .setSpecialCharacter(#",<.>\/?;:'"\[{\]}`~โ‚ฉ!@#$%^&*()-_=+\|"#) // ํŠน์ˆ˜๋ฌธ์ž ์„ค์ •
    //#""# ํฌ๋งทํ˜•์‹์œผ๋กœ ํŠน์ˆ˜๋ฌธ์ž์—ด์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋ฅผ ๊ผญ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.
    .setRegex([.english, .number, , .korean, .specialSymbols]) // ํฌํ•จ๋˜์–ด์•ผํ•˜๋Š” ์กฐ๊ฑด
    //์˜์–ด, ์ˆซ์ž, ํ•œ๊ธ€, ํŠน์ˆ˜๋ฌธ์ž 4๊ฐ€์ง€ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    .setLogOption(.verbose) // ๋กœ๊ทธ๋ ˆ๋ฒจ

์˜ˆ์‹œ ์กฐ๊ฑด

1.ํ•„์ˆ˜๋กœ ํฌํ•จ๋˜์–ด์•ผํ•˜๋Š” ์กฐ๊ฑด์€ ์˜์–ด, ์ˆซ์ž, ํŠน์ˆ˜๋ฌธ์ž
2.์ž…๋ ฅ๋ฐ›์„ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด์˜ ์ตœ์†Œ๊ธธ์ด๋Š” 8, ์ตœ๋Œ€๊ธธ์ด๋Š” 20 ์œผ๋กœ ์„ค์ •
3.์ปค์Šคํ…€์œผ๋กœ ํŠน์ˆ˜๋ฌธ์ž ์ง€์ •
4.ํฌํ•จ๋˜์–ด์•ผํ•˜๋Š” ์กฐ๊ฑด์€ ์˜์–ด์™€ ์ˆซ์ž
5.๋กœ๊ทธ๋ ˆ๋ฒจ .verbose (์ƒ์„ธํ•œ ๋กœ๊ทธ ์ œ๊ณต)

Code ์‚ฌ์šฉ๋ฒ•

    // ๋นŒ๋”ํŒจํ„ด์œผ๋กœ ํ•„์š”ํ•œ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.
    let builder = RegExBuilder()
                    .required([.english,.number,.specialSymbols]) // ํ•„์ˆ˜๋กœ ํฌํ•จ๋˜์–ด์•ผํ•˜๋Š” ์„ค์ •
                    .setLength(min: 8, max: 20) // ์ตœ์†Œ ์ตœ๋Œ€ ๊ธ€์ž
                    .setSpecialCharacter(#",<.>\/?;:'"\[{\]}`~โ‚ฉ!@#$%^&*()-_=+\|"#) // ํŠน์ˆ˜๋ฌธ์ž ์„ค์ • 
                    .setRegex([.english,.number]) // ํฌํ•จ๋˜์–ด์•ผํ•˜๋Š” ์„ค์ •
                    .setLogOption(.verbose) // ๋กœ๊ทธ๋ ˆ๋ฒจ

    //ValidationDirector๋ฅผ ํ†ตํ•ด validator ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”.
    let validator = ValidationDirector.createValidator(builder: builder)


    let YOURTEXT = "123456789"
    // validator ์ธ์Šคํ„ด์Šค์˜ isValid(String)์„ ํ†ตํ•ด์„œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
    validator.isValid(YOURTEXT) { response in
        switch response {
        case .success(let success):
            print(success)
        case .failure(let failure):
            print(failure.desc)
        }
    }
    
    ์˜ˆ์ƒ ๊ฒฐ๊ณผ : ์˜์–ด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค

์‚ฌ์šฉ์‹œ ์ฃผ์˜์‚ฌํ•ญ

ํŠน์ˆ˜๋ฌธ์ž ์„ค์ •์‹œ #"{String}"# ํฌ๋งท์•ˆ์— ํŠน์ˆ˜๋ฌธ์ž์—ด์„ ์ „๋‹ฌํ•ด์ฃผ์„ธ์š”.
ํฌํ•จ์กฐ๊ฑด์— ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋”๋ผ๋„ ํ•„์ˆ˜๋กœ ํฌํ•จ๋˜์–ด์•ผํ•˜๋Š” ์กฐ๊ฑด์„ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์ปค์Šคํ…€ ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ์ง€์ •์„ ํ•˜์ง€์•Š์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ €์žฅ๋œ ํŠน์ˆ˜๋ฌธ์ž ๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Quick Help ์ œ๊ณต

quickhelp builder ezgif com-video-to-gif (14)

GitHub

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

Release Notes

v0.0.8
42 weeks ago

๋ฐ˜์˜๋‚ด์šฉ

์ปค์Šคํ…€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ธฐ๋Šฅ ๋ฐ˜์˜

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