A set of Swift extensions for standard types and classes.
Swift
3,342
290 commits
updated Feb 11, 2019
Set of Swift extensions for standard types and classes.
Because of Xcode errors it's not possible to integrate this project with Cocoapods or as Embedded Framework. Read more at Dev Forum
ExSwift project folder, and drag ExSwift sub folder with source code into the file navigator of your Xcode project. Make sure you select add to targetcomponents.takeFirst() { $0.completed }
Examples in the Wiki
| Name | Signature |
|---|---|
first | first () -> Element? |
last | last () -> Element? |
get | get (index: Int) -> Element? |
remove | remove <U: Equatable> (element: U) |
at | at (indexes: Int...) -> Array |
take | take (n: Int) -> Array |
takeWhile | takeWhile (condition: (Element) -> Bool) -> Array |
takeFirst | takeFirst (condition: (Element) -> Bool) -> Element? |
tail | tail (n: Int) -> Array |
skip | skip (n: Int) -> Array |
skipWhile | skipWhile (condition: (Element) -> Bool) -> Array |
contains | contains <T: Equatable> (item: T...) -> Bool |
difference | difference <T: Equatable> (values: [T]...) -> [T] |
intersection | intersection <U: Equatable> (values: [U]...) -> Array |
union | union <U: Equatable> (values: [U]...) -> Array |
unique | unique <T: Equatable> () -> [T] |
indexOf | indexOf <T: Equatable> (item: T) -> Int? |
indexOf | indexOf (condition: Element -> Bool) -> Int? |
lastIndexOf | lastIndexOf <T: Equatable> (item: T) -> Int? |
zip | zip (arrays: Array<Any>...) -> [[Any?]] |
partition | partition (var n: Int, var step: Int? = nil) -> [Array]partition (var n: Int, var step: Int? = nil, pad: Element[]?) -> [Array] |
partitionAll | partitionAll (var n: Int, var step: Int? = nil) -> [Array] |
partitionBy | partitionBy <T: Equatable> (cond: (Element) -> T) -> [Array] |
shuffle | shuffle () |
shuffled | shuffled () -> Array |
sample (random) | sample (size n: Int = 1) -> [T] |
max | max <T: Comparable> () -> T |
min | min <T: Comparable> () -> T |
each | each (call: (Element) -> ())each (call: (Int, Element) -> ()) |
eachRight | eachRight (call: (Element) -> ())eachRight (call: (Int, Element) -> ()) |
any | any (call: (Element) -> Bool) -> Bool |
all | all (call: (Element) -> Bool) -> Bool |
reject | reject (exclude: (Element -> Bool)) -> Array |
pop | pop() -> Element |
push | push(newElement: Element) |
shift | shift() -> Element |
unshift | unshift(newElement: Element) |
insert | insert (newArray: Array, atIndex: Int) |
groupBy | groupBy <U> (groupingFunction group: (Element) -> (U)) -> [U: Array] |
countBy | countBy <U> (groupingFunction group: (Element) -> (U)) -> [U: Int] |
countWhere | countWhere (test: (Element) -> Bool) -> Int |
reduce | reduce (combine: (Element, Element) -> Element) -> Element? |
reduceRight | reduceRight <U>(initial: U, combine: (U, Element) -> U) -> U |
mapFilter | mapFilter <V> (mapFunction map: (Element) -> (V)?) -> [V] |
implode | implode <C: ExtensibleCollection> (separator: C) -> C? |
flatten | flatten <OutType> () -> [OutType] |
flattenAny | flattenAny () -> [AnyObject] |
toDictionary | toDictionary <U> (keySelector:(Element) -> U) -> [U: Element] |
toDictionary | toDictionary <K, V> (transform: (Element) -> (key: K, value: V)?) -> [K: V] |
cycle | cycle (n: Int? = nil, block: (T) -> ()) |
bSearch | bSearch (block: (T) -> (Bool)) -> T? |
bSearch | bSearch (block: (T) -> (Int)) -> T? |
sortUsing | sortUsing<U:Comparable>(block: ((T) -> U)) -> [T] |
transposition | transposition (array: [[T]]) -> [[T]] |
permutation | permutation (length: Int) -> [[T]] |
repeatedPermutation | repeatedPermutation(length: Int) -> [[T]] |
combination | combination (length: Int) -> [[Element]] |
repeatedCombination | repeatedCombination (length: Int) -> [[Element]] |
| Name | Signatures |
|---|---|
range | range <U: ForwardIndex> (range: Range<U>) -> Array<U> |
| Name | Signature | Function |
|---|---|---|
- | - <T: Equatable> (first: Array<T>, second: Array<T>) -> Array<T> | Difference |
- | - <T: Equatable> (first: Array<T>, second: T) -> Array<T> | Element removal |
& | & <T: Equatable> (first: Array<T>, second: Array<T>) -> Array<T> | Intersection |
| | | <T: Equatable> (first: Array, second: Array) -> Array | Union |
* Int | * <ItemType> (array: ItemType[], n: Int) -> [ItemType] | Returns a new array built by concatenating int copies of self |
* String | * (array: String[], separator: String) -> String | Equivalent to array.implode(String) |
[rangeAsArray: x..y][rangeAsArray: x...y] | subscript(#rangeAsArray: Range<Int>) -> Array | Returns the sub-array from index x to index y |
[x, y, ...] | subscript(first: Int, second: Int, rest: Int...) -> Array | Returns the items at x, y |
Examples in the Wiki
| Name |
|---|
NSTimeIntervalyears |
NSTimeIntervalyear |
NSTimeIntervaldays |
NSTimeIntervalday |
NSTimeIntervalhours |
NSTimeIntervalhour |
NSTimeIntervalminutes |
NSTimeIntervalminute |
NSTimeIntervalseconds |
NSTimeIntervalsecond |
| Name | Signatures |
|---|---|
times | times <T> (call: (Int) -> T)times <T> (call: () -> T)times (call: () -> ()) |
isEven | isEven () -> Bool |
isOdd | idOdd () -> Bool |
upTo | upTo (limit: Int, call: (Int) -> ()) |
downTo | downTo (limit: Int, call: (Int) -> ()) |
clamp | clamp (range: Range<Int>) -> Intclamp (min: Int, max: Int) -> Int |
isIn | isIn (range: Range<Int>, strict: Bool = false) -> Bool |
digits | digits () -> Array<Int> |
abs | abs () -> Int |
gcd | gcd (n: Int) -> Int |
lcm | lcm (n: Int) -> Int |
| Name | Signatures |
|---|---|
random | random(min: Int = 0, max: Int) -> Int |
Examples in the Wiki
| Name | Signature |
|---|---|
abs | abs () -> Float |
sqrt | sqrt () -> Float |
round | round () -> Float |
ceil | ceil () -> Float |
floor | floor () -> Float |
clamp | clamp (min: Float, _ max: Float) -> Float |
| Name | Signatures |
|---|---|
random | random(min: Float = 0, max: Float) -> Float |
Examples in the Wiki
| Name |
|---|
length |
capitalized |
| Name | Signature |
|---|---|
explode | explode (separator: Character) -> [String] |
at | at (indexes: Int...) -> [String] |
matches | matches (pattern: String, ignoreCase: Bool = false) -> [NSTextCheckingResult]? |
insert | insert (index: Int, _ string: String) -> String |
ltrimmed | ltrimmed () -> String |
ltrimmed | ltrimmed (set: NSCharacterSet) -> String |
rtrimmed | rtrimmed () -> String |
rtrimmed | rtrimmed (set: NSCharacterSet) -> String |
trimmed | trimmed () -> String |
rtrimmed | rtrimmed (set: NSCharacterSet) -> String |
toDouble | toDouble() -> Double? |
toFloat | toFloat() -> Float? |
toUInt | toUInt() -> UInt? |
toBool | toBool() -> Bool? |
toDate | toDate(format : String? = "yyyy-MM-dd") -> NSDate? |
toDateTime | toDateTime(format : String? = "yyyy-MM-dd hh-mm-ss") -> NSDate? |
| Name | Signature |
|---|---|
random | func random (var length len: Int = 0, charset: String = "...") -> String |
| Name | Signature |
|---|---|
[x] | subscript(index: Int) -> String? |
[x..y][x...y] | subscript(range: Range<Int>) -> String |
[x, y, z] | subscript (indexes: Int...) -> [String] |
S * n | * (first: String, second: Int) -> String |
=~ | =~ (string: String, pattern: String) -> Bool=~ (string: String, options: (pattern: String, ignoreCase: Bool)) -> Bool=~ (strings: [String], pattern: String) -> Bool=~ (strings: [String], options: (pattern: String, ignoreCase: Bool)) -> Bool |
|~ | |~ (string: String, pattern: String) -> Bool|~ (string: String, options: (pattern: String, ignoreCase: Bool)) -> Bool |
Examples in the Wiki
| Name | Signatures |
|---|---|
times | times (call: (T) -> ())times (call: () -> ()) |
each | each (call: (T) -> ()) |
toArray | toArray () -> [T] |
| Name | Signature |
|---|---|
random | random (from: Int, to: Int) -> Range<Int> |
| Name | Signature | Function |
|---|---|---|
= | == <U: ForwardIndex> (first: Range<U>, second: Range<U>) -> Bool | Compares 2 ranges |
Examples in the Wiki
| Name | Signatures |
|---|---|
difference | difference <V: Equatable> (dictionaries: [Key: V]...) -> [Key: V] |
union | union (dictionaries: [Key: Value]...) -> [Key: Value] |
intersection | intersection <K, V where K: Equatable, V: Equatable> (dictionaries: [K: V]...) -> [K: V] |
has | has (key: Key) -> Bool |
map | map <K, V> (mapFunction map: (Key, Value) -> (K, V)) -> [K: V] |
mapFilter | mapFilter <K, V> (mapFunction map: (Key, Value) -> (K, V)?) -> [K: V] |
mapValues | mapValues <V> (mapFunction map: (Key, Value) -> (V)) -> [Key: V] |
mapFilterValues | mapFilterValues <V> (mapFunction map: (Key, Value) -> V?) -> [Key: V] |
each | each(eachFunction each: (Key, Value) -> ()) |
filter | filter(testFunction test: (Key, Value) -> Bool) -> [Key: Value] |
merge | merge (dictionaries: [Key: Value]...) -> [Key: Value] |
shift | shift () -> (Key, Value) |
groupBy | groupBy <T> (groupingFunction group: (Key, Value) -> (T)) -> [T: Array<Value>] |
countBy | countBy <T> (groupingFunction group: (Key, Value) -> (T)) -> [T: Int] |
countWhere | countWhere (test: (Key, Value) -> (Bool)) -> Int |
any | any (test: (Key, Value) -> (Bool)) -> Bool |
all | all (test: (Key, Value) -> (Bool)) -> Bool |
reduce | reduce <U> (initial: U, combine: (U, Element) -> U) -> U |
pick, at | pick (keys: [Key]) -> Dictionarypick (keys: Key...) -> Dictionaryat (keys: Key...) -> Dictionary |
toArray | toArray <V> (mapFunction map: (Key, Value) -> V) -> [V] |
| Name | Signature | Function |
|---|---|---|
- | - <K, V: Equatable> (first: Dictionary<K, V>, second: Dictionary<K, V>) -> Dictionary<K, V> | Difference |
& | & <K, V: Equatable> (first: Dictionary<K, V>, second: Dictionary<K, V>) -> Dictionary<K, V> | Intersection |
| | | <K, V: Equatable> (first: Dictionary<K, V>, second: Dictionary<K, V>) -> Dictionary<K, V> | Union |
Examples in the Wiki
| Name | Signatures |
|---|---|
cast | cast <OutType> () -> [OutType] |
flatten | flatten <OutType> () -> [OutType] |
flattenAny | flattenAny () -> [AnyObject] |
The following operations can be performed on sequences and are evaluated lazily. Each operation only takes the data it requires from the source sequence in order to return its result.
The Sequence protocol cannot be extended, hence the following are extensions to SequenceOf. They can be used as follows:
var source: Sequence = ...
var filteredSequence = SequenceOf(source).filter { ... }
| Name | Signatures |
|---|---|
first | first () -> T? |
any | any (call: (T) -> Bool) -> Bool |
get | get (index: Int) -> T? |
get | get (range: Range<Int>) -> SequenceOf<T> |
indexOf | indexOf <U: Equatable> (item: U) -> Int? |
filter | filter(include: (T) -> Bool) -> SequenceOf<T> |
reject | reject (exclude: (T -> Bool)) -> SequenceOf<T> |
skipWhile | skipWhile(condition:(T) -> Bool) -> SequenceOf<T> |
skip | skip (n:Int) -> SequenceOf<T> |
contains | contains<T:Equatable> (item: T) -> Bool |
take | take (n:Int) -> SequenceOf<T> |
takeWhile | takeWhile (condition:(T?) -> Bool) -> SequenceOf<T> |
Examples in the Wiki
| Name | Signature |
|---|---|
abs | abs () -> Double |
sqrt | sqrt () -> Double |
round | round () -> Double |
ceil | ceil () -> Double |
floor | floor () -> Double |
clamp | clamp (min: Double, _ max: Double) -> Double |
roundToNearest | roundToNearest(increment: Double) -> Double |
| Name | Signatures |
|---|---|
random | random(min: Double = 0, max: Double) -> Double |
| Name | Signatures |
|---|---|
year | Int |
month | Int |
weekday | Int |
weekMonth | Int |
days | Int |
hours | Int |
minutes | Int |
seconds | Int |
| Name | Signatures |
|---|---|
add | add(seconds:Int=0, minutes:Int = 0, hours:Int = 0, days:Int = 0, weeks:Int = 0, months:Int = 0, years:Int = 0) -> NSDate |
addSeconds | addSeconds (seconds:Int) -> NSDate |
addMinutes | addMinutes (minute:Int) -> NSDate |
addHours | addHours(hours:Int) -> NSDate |
addDays | addDays(days:Int) -> NSDate |
addWeeks | addWeeks(weeks:Int) -> NSDate |
addMonths | addMonths(months:Int) -> NSDate |
addYears | addYears(years:Int) -> NSDate |
isAfter | isAfter(date: NSDate) -> Bool |
isBefore | isBefore(date: NSDate) -> Bool |
getComponent | getComponent (component : NSCalendarUnit) -> Int |
| Name | Signatures |
|---|---|
== | ==(lhs: NSDate, rhs: NSDate) -> Bool |
< | <(lhs: NSDate, rhs: NSDate) -> Bool |
> | >(lhs: NSDate, rhs: NSDate) -> Bool |
<= | <=(lhs: NSDate, rhs: NSDate) -> Bool |
>= | >=(lhs: NSDate, rhs: NSDate) -> Bool |
== | ==(lhs: NSDate, rhs: NSDate) -> Bool |
Examples in the Wiki
| Name | Signatures |
|---|---|
after | after <P, T> (n: Int, function: P -> T) -> (P -> T?)func after <T> (n: Int, function: () -> T) -> (() -> T?) |
once | once <P, T> (function: P -> T) -> (P -> T?)once <T> (call: Void -> T) -> (Void -> T?) |
partial | partial <P, T> (function: (P...) -> T, _ parameters: P...) -> ((P...) -> T?) |
bind | bind <P, T> (function: (P...) -> T, _ parameters: P...) -> (() -> T) |
cached | cached <P, R> (function: P -> R) -> (P -> R)cached <P, R> (function: (P...) -> R) -> ((P...) -> R)cached <P, R> (function: (P...) -> R, hash: ((P...) -> P)) -> ((P...) -> R) |
| Name | Signatures |
|---|---|
<=> | <=> <T: Comparable>(lhs: T, rhs: T) -> Int |
6,173 followers · starred Jun 2014
2,004 followers · starred Sep 2014
996 followers · starred Jun 2014
460 followers · starred Jun 2014
A set of Swift extensions for standard types and classes.
Swift
3,342
290 commits
updated Feb 11, 2019
Set of Swift extensions for standard types and classes.
Because of Xcode errors it's not possible to integrate this project with Cocoapods or as Embedded Framework. Read more at Dev Forum
ExSwift project folder, and drag ExSwift sub folder with source code into the file navigator of your Xcode project. Make sure you select add to targetcomponents.takeFirst() { $0.completed }
Examples in the Wiki
| Name | Signature |
|---|---|
first | first () -> Element? |
last | last () -> Element? |
get | get (index: Int) -> Element? |
remove | remove <U: Equatable> (element: U) |
at | at (indexes: Int...) -> Array |
take | take (n: Int) -> Array |
takeWhile | takeWhile (condition: (Element) -> Bool) -> Array |
takeFirst | takeFirst (condition: (Element) -> Bool) -> Element? |
tail | tail (n: Int) -> Array |
skip | skip (n: Int) -> Array |
skipWhile | skipWhile (condition: (Element) -> Bool) -> Array |
contains | contains <T: Equatable> (item: T...) -> Bool |
difference | difference <T: Equatable> (values: [T]...) -> [T] |
intersection | intersection <U: Equatable> (values: [U]...) -> Array |
union | union <U: Equatable> (values: [U]...) -> Array |
unique | unique <T: Equatable> () -> [T] |
indexOf | indexOf <T: Equatable> (item: T) -> Int? |
indexOf | indexOf (condition: Element -> Bool) -> Int? |
lastIndexOf | lastIndexOf <T: Equatable> (item: T) -> Int? |
zip | zip (arrays: Array<Any>...) -> [[Any?]] |
partition | partition (var n: Int, var step: Int? = nil) -> [Array]partition (var n: Int, var step: Int? = nil, pad: Element[]?) -> [Array] |
partitionAll | partitionAll (var n: Int, var step: Int? = nil) -> [Array] |
partitionBy | partitionBy <T: Equatable> (cond: (Element) -> T) -> [Array] |
shuffle | shuffle () |
shuffled | shuffled () -> Array |
sample (random) | sample (size n: Int = 1) -> [T] |
max | max <T: Comparable> () -> T |
min | min <T: Comparable> () -> T |
each | each (call: (Element) -> ())each (call: (Int, Element) -> ()) |
eachRight | eachRight (call: (Element) -> ())eachRight (call: (Int, Element) -> ()) |
any | any (call: (Element) -> Bool) -> Bool |
all | all (call: (Element) -> Bool) -> Bool |
reject | reject (exclude: (Element -> Bool)) -> Array |
pop | pop() -> Element |
push | push(newElement: Element) |
shift | shift() -> Element |
unshift | unshift(newElement: Element) |
insert | insert (newArray: Array, atIndex: Int) |
groupBy | groupBy <U> (groupingFunction group: (Element) -> (U)) -> [U: Array] |
countBy | countBy <U> (groupingFunction group: (Element) -> (U)) -> [U: Int] |
countWhere | countWhere (test: (Element) -> Bool) -> Int |
reduce | reduce (combine: (Element, Element) -> Element) -> Element? |
reduceRight | reduceRight <U>(initial: U, combine: (U, Element) -> U) -> U |
mapFilter | mapFilter <V> (mapFunction map: (Element) -> (V)?) -> [V] |
implode | implode <C: ExtensibleCollection> (separator: C) -> C? |
flatten | flatten <OutType> () -> [OutType] |
flattenAny | flattenAny () -> [AnyObject] |
toDictionary | toDictionary <U> (keySelector:(Element) -> U) -> [U: Element] |
toDictionary | toDictionary <K, V> (transform: (Element) -> (key: K, value: V)?) -> [K: V] |
cycle | cycle (n: Int? = nil, block: (T) -> ()) |
bSearch | bSearch (block: (T) -> (Bool)) -> T? |
bSearch | bSearch (block: (T) -> (Int)) -> T? |
sortUsing | sortUsing<U:Comparable>(block: ((T) -> U)) -> [T] |
transposition | transposition (array: [[T]]) -> [[T]] |
permutation | permutation (length: Int) -> [[T]] |
repeatedPermutation | repeatedPermutation(length: Int) -> [[T]] |
combination | combination (length: Int) -> [[Element]] |
repeatedCombination | repeatedCombination (length: Int) -> [[Element]] |
| Name | Signatures |
|---|---|
range | range <U: ForwardIndex> (range: Range<U>) -> Array<U> |
| Name | Signature | Function |
|---|---|---|
- | - <T: Equatable> (first: Array<T>, second: Array<T>) -> Array<T> | Difference |
- | - <T: Equatable> (first: Array<T>, second: T) -> Array<T> | Element removal |
& | & <T: Equatable> (first: Array<T>, second: Array<T>) -> Array<T> | Intersection |
| | | <T: Equatable> (first: Array, second: Array) -> Array | Union |
* Int | * <ItemType> (array: ItemType[], n: Int) -> [ItemType] | Returns a new array built by concatenating int copies of self |
* String | * (array: String[], separator: String) -> String | Equivalent to array.implode(String) |
[rangeAsArray: x..y][rangeAsArray: x...y] | subscript(#rangeAsArray: Range<Int>) -> Array | Returns the sub-array from index x to index y |
[x, y, ...] | subscript(first: Int, second: Int, rest: Int...) -> Array | Returns the items at x, y |
Examples in the Wiki
| Name |
|---|
NSTimeIntervalyears |
NSTimeIntervalyear |
NSTimeIntervaldays |
NSTimeIntervalday |
NSTimeIntervalhours |
NSTimeIntervalhour |
NSTimeIntervalminutes |
NSTimeIntervalminute |
NSTimeIntervalseconds |
NSTimeIntervalsecond |
| Name | Signatures |
|---|---|
times | times <T> (call: (Int) -> T)times <T> (call: () -> T)times (call: () -> ()) |
isEven | isEven () -> Bool |
isOdd | idOdd () -> Bool |
upTo | upTo (limit: Int, call: (Int) -> ()) |
downTo | downTo (limit: Int, call: (Int) -> ()) |
clamp | clamp (range: Range<Int>) -> Intclamp (min: Int, max: Int) -> Int |
isIn | isIn (range: Range<Int>, strict: Bool = false) -> Bool |
digits | digits () -> Array<Int> |
abs | abs () -> Int |
gcd | gcd (n: Int) -> Int |
lcm | lcm (n: Int) -> Int |
| Name | Signatures |
|---|---|
random | random(min: Int = 0, max: Int) -> Int |
Examples in the Wiki
| Name | Signature |
|---|---|
abs | abs () -> Float |
sqrt | sqrt () -> Float |
round | round () -> Float |
ceil | ceil () -> Float |
floor | floor () -> Float |
clamp | clamp (min: Float, _ max: Float) -> Float |
| Name | Signatures |
|---|---|
random | random(min: Float = 0, max: Float) -> Float |
Examples in the Wiki
| Name |
|---|
length |
capitalized |
| Name | Signature |
|---|---|
explode | explode (separator: Character) -> [String] |
at | at (indexes: Int...) -> [String] |
matches | matches (pattern: String, ignoreCase: Bool = false) -> [NSTextCheckingResult]? |
insert | insert (index: Int, _ string: String) -> String |
ltrimmed | ltrimmed () -> String |
ltrimmed | ltrimmed (set: NSCharacterSet) -> String |
rtrimmed | rtrimmed () -> String |
rtrimmed | rtrimmed (set: NSCharacterSet) -> String |
trimmed | trimmed () -> String |
rtrimmed | rtrimmed (set: NSCharacterSet) -> String |
toDouble | toDouble() -> Double? |
toFloat | toFloat() -> Float? |
toUInt | toUInt() -> UInt? |
toBool | toBool() -> Bool? |
toDate | toDate(format : String? = "yyyy-MM-dd") -> NSDate? |
toDateTime | toDateTime(format : String? = "yyyy-MM-dd hh-mm-ss") -> NSDate? |
| Name | Signature |
|---|---|
random | func random (var length len: Int = 0, charset: String = "...") -> String |
| Name | Signature |
|---|---|
[x] | subscript(index: Int) -> String? |
[x..y][x...y] | subscript(range: Range<Int>) -> String |
[x, y, z] | subscript (indexes: Int...) -> [String] |
S * n | * (first: String, second: Int) -> String |
=~ | =~ (string: String, pattern: String) -> Bool=~ (string: String, options: (pattern: String, ignoreCase: Bool)) -> Bool=~ (strings: [String], pattern: String) -> Bool=~ (strings: [String], options: (pattern: String, ignoreCase: Bool)) -> Bool |
|~ | |~ (string: String, pattern: String) -> Bool|~ (string: String, options: (pattern: String, ignoreCase: Bool)) -> Bool |
Examples in the Wiki
| Name | Signatures |
|---|---|
times | times (call: (T) -> ())times (call: () -> ()) |
each | each (call: (T) -> ()) |
toArray | toArray () -> [T] |
| Name | Signature |
|---|---|
random | random (from: Int, to: Int) -> Range<Int> |
| Name | Signature | Function |
|---|---|---|
= | == <U: ForwardIndex> (first: Range<U>, second: Range<U>) -> Bool | Compares 2 ranges |
Examples in the Wiki
| Name | Signatures |
|---|---|
difference | difference <V: Equatable> (dictionaries: [Key: V]...) -> [Key: V] |
union | union (dictionaries: [Key: Value]...) -> [Key: Value] |
intersection | intersection <K, V where K: Equatable, V: Equatable> (dictionaries: [K: V]...) -> [K: V] |
has | has (key: Key) -> Bool |
map | map <K, V> (mapFunction map: (Key, Value) -> (K, V)) -> [K: V] |
mapFilter | mapFilter <K, V> (mapFunction map: (Key, Value) -> (K, V)?) -> [K: V] |
mapValues | mapValues <V> (mapFunction map: (Key, Value) -> (V)) -> [Key: V] |
mapFilterValues | mapFilterValues <V> (mapFunction map: (Key, Value) -> V?) -> [Key: V] |
each | each(eachFunction each: (Key, Value) -> ()) |
filter | filter(testFunction test: (Key, Value) -> Bool) -> [Key: Value] |
merge | merge (dictionaries: [Key: Value]...) -> [Key: Value] |
shift | shift () -> (Key, Value) |
groupBy | groupBy <T> (groupingFunction group: (Key, Value) -> (T)) -> [T: Array<Value>] |
countBy | countBy <T> (groupingFunction group: (Key, Value) -> (T)) -> [T: Int] |
countWhere | countWhere (test: (Key, Value) -> (Bool)) -> Int |
any | any (test: (Key, Value) -> (Bool)) -> Bool |
all | all (test: (Key, Value) -> (Bool)) -> Bool |
reduce | reduce <U> (initial: U, combine: (U, Element) -> U) -> U |
pick, at | pick (keys: [Key]) -> Dictionarypick (keys: Key...) -> Dictionaryat (keys: Key...) -> Dictionary |
toArray | toArray <V> (mapFunction map: (Key, Value) -> V) -> [V] |
| Name | Signature | Function |
|---|---|---|
- | - <K, V: Equatable> (first: Dictionary<K, V>, second: Dictionary<K, V>) -> Dictionary<K, V> | Difference |
& | & <K, V: Equatable> (first: Dictionary<K, V>, second: Dictionary<K, V>) -> Dictionary<K, V> | Intersection |
| | | <K, V: Equatable> (first: Dictionary<K, V>, second: Dictionary<K, V>) -> Dictionary<K, V> | Union |
Examples in the Wiki
| Name | Signatures |
|---|---|
cast | cast <OutType> () -> [OutType] |
flatten | flatten <OutType> () -> [OutType] |
flattenAny | flattenAny () -> [AnyObject] |
The following operations can be performed on sequences and are evaluated lazily. Each operation only takes the data it requires from the source sequence in order to return its result.
The Sequence protocol cannot be extended, hence the following are extensions to SequenceOf. They can be used as follows:
var source: Sequence = ...
var filteredSequence = SequenceOf(source).filter { ... }
| Name | Signatures |
|---|---|
first | first () -> T? |
any | any (call: (T) -> Bool) -> Bool |
get | get (index: Int) -> T? |
get | get (range: Range<Int>) -> SequenceOf<T> |
indexOf | indexOf <U: Equatable> (item: U) -> Int? |
filter | filter(include: (T) -> Bool) -> SequenceOf<T> |
reject | reject (exclude: (T -> Bool)) -> SequenceOf<T> |
skipWhile | skipWhile(condition:(T) -> Bool) -> SequenceOf<T> |
skip | skip (n:Int) -> SequenceOf<T> |
contains | contains<T:Equatable> (item: T) -> Bool |
take | take (n:Int) -> SequenceOf<T> |
takeWhile | takeWhile (condition:(T?) -> Bool) -> SequenceOf<T> |
Examples in the Wiki
| Name | Signature |
|---|---|
abs | abs () -> Double |
sqrt | sqrt () -> Double |
round | round () -> Double |
ceil | ceil () -> Double |
floor | floor () -> Double |
clamp | clamp (min: Double, _ max: Double) -> Double |
roundToNearest | roundToNearest(increment: Double) -> Double |
| Name | Signatures |
|---|---|
random | random(min: Double = 0, max: Double) -> Double |
| Name | Signatures |
|---|---|
year | Int |
month | Int |
weekday | Int |
weekMonth | Int |
days | Int |
hours | Int |
minutes | Int |
seconds | Int |
| Name | Signatures |
|---|---|
add | add(seconds:Int=0, minutes:Int = 0, hours:Int = 0, days:Int = 0, weeks:Int = 0, months:Int = 0, years:Int = 0) -> NSDate |
addSeconds | addSeconds (seconds:Int) -> NSDate |
addMinutes | addMinutes (minute:Int) -> NSDate |
addHours | addHours(hours:Int) -> NSDate |
addDays | addDays(days:Int) -> NSDate |
addWeeks | addWeeks(weeks:Int) -> NSDate |
addMonths | addMonths(months:Int) -> NSDate |
addYears | addYears(years:Int) -> NSDate |
isAfter | isAfter(date: NSDate) -> Bool |
isBefore | isBefore(date: NSDate) -> Bool |
getComponent | getComponent (component : NSCalendarUnit) -> Int |
| Name | Signatures |
|---|---|
== | ==(lhs: NSDate, rhs: NSDate) -> Bool |
< | <(lhs: NSDate, rhs: NSDate) -> Bool |
> | >(lhs: NSDate, rhs: NSDate) -> Bool |
<= | <=(lhs: NSDate, rhs: NSDate) -> Bool |
>= | >=(lhs: NSDate, rhs: NSDate) -> Bool |
== | ==(lhs: NSDate, rhs: NSDate) -> Bool |
Examples in the Wiki
| Name | Signatures |
|---|---|
after | after <P, T> (n: Int, function: P -> T) -> (P -> T?)func after <T> (n: Int, function: () -> T) -> (() -> T?) |
once | once <P, T> (function: P -> T) -> (P -> T?)once <T> (call: Void -> T) -> (Void -> T?) |
partial | partial <P, T> (function: (P...) -> T, _ parameters: P...) -> ((P...) -> T?) |
bind | bind <P, T> (function: (P...) -> T, _ parameters: P...) -> (() -> T) |
cached | cached <P, R> (function: P -> R) -> (P -> R)cached <P, R> (function: (P...) -> R) -> ((P...) -> R)cached <P, R> (function: (P...) -> R, hash: ((P...) -> P)) -> ((P...) -> R) |
| Name | Signatures |
|---|---|
<=> | <=> <T: Comparable>(lhs: T, rhs: T) -> Int |
6,173 followers · starred Jun 2014
2,004 followers · starred Sep 2014
996 followers · starred Jun 2014
460 followers · starred Jun 2014