diff --git a/.gitignore b/.gitignore index 312d1f6..47bad97 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,9 @@ fastlane/report.xml fastlane/Preview.html fastlane/screenshots/**/*.png fastlane/test_output + +# Jetbrains IDEs +.idea/ + +# MacOS Finder +.DS_Store diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..f3b43ca --- /dev/null +++ b/Package.swift @@ -0,0 +1,20 @@ +// swift-tools-version: 5.5 + +import PackageDescription + +let package = Package( + name: "NanoID", + platforms: [ + .macOS( .v10_13 ) + ], + products: [ + .library( + name: "NanoID", + targets: ["NanoID"] ), + ], + targets: [ + .target( + name: "NanoID" + ) + ] +) diff --git a/NanoID.swift b/Sources/NanoID/NanoID.swift similarity index 91% rename from NanoID.swift rename to Sources/NanoID/NanoID.swift index 55a184f..76e70f0 100644 --- a/NanoID.swift +++ b/Sources/NanoID/NanoID.swift @@ -23,20 +23,20 @@ import Foundation /// let idFirst = nanoID.new() /// let idSecond = nanoID.new() -class NanoID { +public class NanoID { // Shared Parameters private var size: Int private var alphabet: String /// Inits an instance with Shared Parameters - init(alphabet: NanoIDAlphabet..., size: Int) { + public init(alphabet: NanoIDAlphabet..., size: Int) { self.size = size self.alphabet = NanoIDHelper.parse(alphabet) } /// Generates a Nano ID using Shared Parameters - func new() -> String { + public func new() -> String { return NanoIDHelper.generate(from: alphabet, of: size) } @@ -45,18 +45,18 @@ class NanoID { private static let defaultAphabet = NanoIDAlphabet.urlSafe.toString() /// Generates a Nano ID using Default Parameters - static func new() -> String { + public static func new() -> String { return NanoIDHelper.generate(from: defaultAphabet, of: defaultSize) } /// Generates a Nano ID using given occasional parameters - static func new(alphabet: NanoIDAlphabet..., size: Int) -> String { + public static func new(alphabet: NanoIDAlphabet..., size: Int) -> String { let charactersString = NanoIDHelper.parse(alphabet) return NanoIDHelper.generate(from: charactersString, of: size) } /// Generates a Nano ID using Default Alphabet and given size - static func new(_ size: Int) -> String { + public static func new(_ size: Int) -> String { return NanoIDHelper.generate(from: NanoID.defaultAphabet, of: size) } } @@ -95,7 +95,7 @@ fileprivate class NanoIDHelper { } } -enum NanoIDAlphabet { +public enum NanoIDAlphabet { case urlSafe case uppercasedLatinLetters case lowercasedLatinLetters