Skip to content

iamjono/SwiftRandom

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SwiftRandom

SwiftRandom is a tiny help suite for generating random data such as:

  • Random human stuff like: names, gender, titles, tags, conversations
  • Random data types like: Int, CGFloat, Bool, Date, URL, element in Array

Note the original client side Swift 2 repo can be found here: https://github.com/thellimist/SwiftRandom

This Fork

This fork is intended as a server side utility.

  • It is Swift 3.0 and Swift Package Manager (SPM) ready.
  • Significant test coverage has also been added.

Usage

func asExtension() {
	Int.random(2, 77) // Random between 2-77
	Int.random(2...77)
	Int32.random(13, 37) // Random between 13-37
	Int32.random(13...37)
	Double.random()
	Float.random(3.2, 4.5) // Random between 3.2-4.5
	CGFloat.random()
	Date.random()
	Date.randomWithinDaysBeforeToday(7)
	URL.random()
	
	// Array Extensions
	var someArray = ["hello", "world"]
	someArray[0..<someArray.count].randomItem() // Array slice
	someArray.randomItem()
}
func asMethods() {
	// Return random Int >= 10 and <= 20
	// Example Output: 13
	Randoms.randomInt(10,20)
	
	// Return random Int32 >= 10 and <= 20
	// Example Output: 13
	Randoms.randomInt32(10,20)
	
	// Return random Double >= 10 and <= 20
	// Example Output: 11.511219042938
	Randoms.randomDouble(10,20)

	// Return random Float >= 10 and <= 20
	// Example Output: 17.0361
	Randoms.randomFloat(10,20)

	// Return random CGFloat between 1 >= and >= 0
	// Example Output: 0.622616
	Randoms.randomCGFloat()

	// Return true 30%, false %70
	// Example Output: false
	Randoms.randomPercentageisOver(70)

	// Return true or false
	// Example Output: false
	Randoms.randomBool()

	// Return random NSDate today > and > today - 7.
	// Example Output: 2015-10-08 03:55:09 +0000
	Randoms.randomDateWithinDaysBeforeToday(7)

	// Random Date since 1970
	// Example Output: 1997-02-01 15:27:08 +0000
	Randoms.randomDate()

	// Return random URL
	// Example Output: http://leagueoflegends.com/
	Randoms.randomURL()

	// ==================== Fake Generators for Fake Datasources ==================== //

	// Return random name
	// Example Output: "Megan Freeman"
	Randoms.randomFakeName()

	// Return random fake name prefixed by English honorific
	// Example Output: "Dr. Megan Freeman"
	Randoms.randomFakeNameAndEnglishHonorific()

	// Return "Male" or "Female" as String
	// Example Output: "Female"
	Randoms.randomFakeGender()

	// Return random conversation
	// Example Output: "No! I'm tired of doing what you say."
	Randoms.randomFakeConversation()

	// Return random title
	// Example Output: "B2 Pilot @ USAF"
	Randoms.randomFakeTitle()

	// Return random tag as string
	// Example Output: "question"
	Randoms.randomFakeTag()
	
	// Return random currency as String
	// Example Output: "EUR"
	Randoms.randomCurrency()
	
}

###Requirements

  • Swift version 3.0

Installation

Install via Swift Package Manager

  • Add the following to your Package.swift file:
// Swift 3
.Package(url: "https://github.com/iamjono/SwiftRandom.git", majorVersion: 1)
    
// Swift 4
.package(url: "https://github.com/iamjono/SwiftRandom.git", from: "1.0.0")

Then, regenerate your Xcode project:

swift package generate-xcodeproj

Install Manually

  • Download and drop 'Randoms.swift' in your project.

###License

  • SwiftRandom is available under the MIT license. See the LICENSE file.

##Keywords random, swift, data, generator, faker, fake

About

A tiny generator of random data for swift

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 100.0%